لفرض أن لدينا الجدول أدنا وهو يحتوي على حقلين Name, Email
لجلب البيانات وعرضها بالجدول أعلاه فإننا نستخدم
public function index(){ $students = Student::all(); return view('student', compact('students')); }
لكن الكود أعلاه يقوم بجلب جميع الحقول في قاعدة البيانات وكما بالصوره فإننا نحتاج فقط الإسم الأول والبريد الإلكتروني، لذلك يجب أن يتم جلب الحقول التي نريدها فقط
$students = Student::all('id', 'fname', 'email');
إذا أردنا جلب بيانات id=1
public function index(){ $student = Student::find(1); $students = [$student]; return view('student', compact('students')); }
كما يمكن تحديد أكثر من id مع find
$students = Student::find([1, 2, 3]);
كذلك يمكن تحديد حقول معينة مع find
$students = Student::find([1, 2, 3], ['id', 'fname']);
ماذا لو كنا نريد أن نجلب بيانات id=1 لكن id=1 غير موجود في قاعدة البيانات
public function index(){ $student = Student::find(1); if (!$student) abort(404); $students = [$student]; return view('student', compact('students')); }
الكود أعلاه سيقوم بإرجاع 404 اذا كان id=1 غير موجود
لكن يمكن إستخدام findOrFail
public function index(){ $student = Student::findOrFail(1111); $students = [$student]; return view('student', compact('students')); }
كذلك يمكن إستخدام FirstOrFail مع where
public function index(){ $student = Student::where('email', 'info@etharshrouf.com')->firstOrFail(); $students = [$student]; return view('student', compact('students')); }
شكرآ لك علي هذه المعلومات القيمة
معلومات قيمة بطريقة شرح ممتازة
اطال الله عمرك
اختصار رائع ولكن ليس عملى بحيث اننى الرجوع برسالة بالخطأ الموجوده او عدم وجود البيانات لكن حينها سأحتاج الى عمل check للناتج عن الquery لكن فى الخطأ سأحتاج على الرجوع للخلف فى كل مرة هل هناك طريقة حتى اتحكم اذا كان الناتج fail (error1)
زائر
اختصار الكود من اهم مميزات eloquent