اذهب إلى المحتوى
  • 0

مشكلة في استخدام join في لارافل

Amir Alsaeed

السؤال

لدي الكود البرمجي التالي الذي يقوم بالجمع بين جدولين ويختبر شرط معيّن:

$res = DB::table('book_author')
            ->join('books', 'books.id', '=', 'book_author.book_id')
            ->where('book_author.author_id', '=', $author_id)
            ->where('book_author.book_id', '=', $book_id);
            if($res){
                return true;
            }
            else{
                return false;
            }

ولكن المشكلة أن الناتج يكون دوماً true ولا يصل أبداً إلى false. ماهو الخطأ؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

السبب في المُشكلة أنك لا تقوم بإرجاع النتائج من الإستعلام فحالياً المُتغير res يحمل نُسخة من باني الإستعلامات فقط ( Query Builder ) و لا يحتوي على نتيجة ذلك الإستعلام لجلب النتائج إستخدم التابع get بالشكل التالي:

$res = DB::table('book_author')
  ->join('books', 'books.id', '=', 'book_author.book_id')
  ->where('book_author.author_id', '=', $author_id)
  ->where('book_author.book_id', '=', $book_id)
  ->get();

حيث أن التابع get سيقوم بإرجاع collection ثم بإمكانك التحقق من وجود نتائج بالشكل التالي:

if($res->isNotEmpty()){
  return true;
}
else{
  return false;
}
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...