我有asset_request
表格,其中包含字段id
和request_id
我想选择具有特定ID的多行。
$ids = $request->ids // 5,6
我想在请求表
中仅选择ID为5和6的行$ids = $request->ids;
$asset_request = asset_request::whereIn('id',array($ids))->first(); //gets only 6th row.
我需要获得与给定ID匹配的所有行。
答案 0 :(得分:1)
在与Op:
聊聊之后澄清一下Op正在传回一个字符串请求,因此,Op需要更改以下内容:
$id = $request->id;
$ids = str_split(str_replace(',', '', $id));
$asset_request = asset_request::whereIn('id', $ids)->get();
答案 1 :(得分:0)
首先,您调用first
方法,该方法仅返回匹配的第一行
您需要调用get
方法来获取所有匹配的行。
其次,如果您要将ids
作为逗号分隔字符串发送,则需要使用explode
将其转换为数组。
$ids = $request->ids;
$asset_requst = asset_request::whereIn('id', explode(",", $ids))->get();
答案 2 :(得分:-1)
DB::table('asset_request')
->whereIn('id', (array) $request->ids)
->get();
或
TableModel::whereIn('id', (array) $request->ids)->get();