آفلاین
user-avatar

نوشتن کوئری sql در orm

2 سال پیش
توسط تابش آپدیت شد
آفلاین
user-avatar
تابش ( 3091 تجربه )
2 سال پیش
تخصص : برنامه نویس ارشد وب

سلام دوستان
من یک سایت رو باید از روی اپ آن که قبلا درست شده بزنم
حالا برنامه نویس اپ یک کد sql به من داده که من باید ازش استفاده کنم
ولی نمیدونم چطوری
کد اینه

'SELECT * From category_sp INNER JOIN sp ON category_sp.sp_id = sp.id WHERE accept =1 AND Active=1 AND Status=1 AND category_id= "{$pid}" AND sp.id NOT IN( SELECT driver_id FROM orders WHERE (("{$start}" BETWEEN startTime AND finishTime) OR ("{$finish}" BETWEEN startTime AND finishTime )) AND accept IN (1,3,5,6,7) )'

چطوری توی orm بهش اینو بفهمونم
یکی میتونه این رو بصورت orm برام بازنویسی کنه
ممنون میشم راهنمایی بفرمایید

من همچین کاری کردم ارور میگیرم

   $result = DB::Raw('SELECT * From category_sp INNER JOIN sp ON category_sp.sp_id = sp.id WHERE accept =1 AND Active=1 AND Status=1 AND category_id= "{$pid}" AND sp.id NOT IN( SELECT driver_id FROM orders WHERE (("{$start}" BETWEEN startTime AND finishTime) OR ("{$finish}" BETWEEN startTime AND finishTime )) AND accept IN (1,3,5,6,7) )')->get();

Call to undefined method IlluminateDatabaseQueryExpression::get()
آفلاین
user-avatar
تابش ( 3091 تجربه )
2 سال پیش
تخصص : برنامه نویس ارشد وب

با سرچ کردن پیداش کردم
الان درست شد

    $result = \DB::select(\DB::raw('SELECT * From category_sp INNER JOIN sp ON category_sp.sp_id = sp.id WHERE accept =1 AND Active=1 AND Status=1 AND category_id= "'.$pid.'" AND sp.id NOT IN( SELECT driver_id FROM orders WHERE (("'.$start.'" BETWEEN startTime AND finishTime) OR ("'.$finish.'" BETWEEN startTime AND finishTime )) AND accept IN (1,3,5,6,7) )'));
برای ارسال پاسخ باید وارد سایت شوید