Mysql 如何获取PHP Laravel中几个id下一行的所有值?

Mysql 如何获取PHP Laravel中几个id下一行的所有值?,mysql,laravel-5,Mysql,Laravel 5,这是select查询的输出&我使用了来自三个表的join查询。如何获取id=5的单行的所有值和id=7的单行的所有值 $data = DB::table('col3') ->join('col2', 'col2.Record_ID', '=', 'col3.Record_ID') ->join('col1', 'col1.Record_ID', '=', 'col2.Record_ID') ->select('col1.*', 'col2.*', '

这是select查询的输出&我使用了来自三个表的join查询。如何获取id=5的单行的所有值和id=7的单行的所有值

$data = DB::table('col3')
       ->join('col2', 'col2.Record_ID', '=', 'col3.Record_ID')
       ->join('col1', 'col1.Record_ID', '=', 'col2.Record_ID') ->select('col1.*', 'col2.*', 'col3.*')
       ->orderBy('col1.Time','desc')         
       ->get();

如果我没有弄错的话,这不仅仅是添加
where
子句的情况:

$data = DB::table('col3')
       ->join('col2', 'col2.Record_ID', '=', 'col3.Record_ID')
       ->join('col1', 'col1.Record_ID', '=', 'col2.Record_ID') ->select('col1.*', 'col2.*', 'col3.*')
       ->whereIn('{table that has the ID e.g col1}.id', [5,7])
       ->orderBy('col1.Time','desc')         
       ->get();

您的意思是要添加一个
where
语句?是的,第一行id=“5”中的所有值以及第一行id=7中的所有值是的,它正在工作,但收到了id=“5”和id=“7”的所有原始值。我需要为5和7保留原始值。我对where子句使用了->first()。但是不可能。那么您需要一个子查询来完成此操作。你的问题不是很清楚,我想把上面的表格分成两份。在一个raw中,它根据最新时间具有id=“5”值,而另一个raw根据最新时间具有id=“7”值。如果您希望将一行返回到它是最新值的位置,则需要使用子查询按创建或更新的时间戳排序,并获取第一条记录。