Maison > Questions et réponses > le corps du texte
J'ai deux tablesParameters
和Share_Details
. J'ai ma requête SQL brute ici et je veux l'écrire de manière purement éloquente. s'il vous plaît, aidez-moi.
$shareDetails=DB::select ("SELECT s.id, share_type, para_int_1, para_int_2, price, para_name FROM share_details as s,parameters where para_type='share' and para_id=share_type and startDate=(select max(startdate) from share_details where share_type=s.share_type) group by share_type, s.id, para_int_1, para_int_2, price, para_name");
P粉4594409912023-09-08 17:19:47
Essayez quelque chose comme ceci :
DB::table('share_details') ->crossJoin('parameters' ->select('share_details.id', 'share_type', 'para_int_1', 'para_int_2', 'price', 'para_name') ->where('para_type','=','share') ->where('para_id','=',DB::raw('share_type')) ->where('startDate','=',function($query) { $query->from('share_details') ->select(DB::raw("'max'(startdate)) ->where('share_type','=',DB::raw('s.share_type')); }) ->groupBy('share_type','share_details.id','para_int_1','para_int_2','price','para_name') ->get();