感谢大家的回答。。问题已解决我正在使用WhereIn例如:
我怎么能在Eloquent中写这篇文章,而我正在使用laravel 4?
SELECT * FROM `applicant` WHERE `id`='17' OR `id`='19'
我在想这个
$findIDAUTH = Auth::User()->id;
$findHrsbu = HrSbu::where('staff_id', '=', $findIDAUTH)->get();
$results = Mapplication::MApplication();
foreach($findHrsbu as $HrSbu){
$results = $results->Where('sbu.id', '=', $HrSbu->sbu_id);
}
$results = $results->get();
如果只是
SELECT * FROM `applicant` WHERE `id`='17'
我可以工作,但如果
SELECT * FROM `applicant` WHERE `id`='17' OR `id`='19' or 'id'='20'
不适用于我,谢谢
您应该将whereIn
与子查询一起使用:
$results = Mapplication::whereIn('id', function ($query) {
$query->from((new HrSbu)->getTable())
->select('sbu_id')
->where('staff_id', auth()->id());
})->get();
Hi请尝试使用此代码并告诉我,这是laravel的一个选项,因为您使用了类似的方法。。。。
$findIDAUTH = Auth::User()->id;
$findHrsbu = HrSbu::where('staff_id', '=', $findIDAUTH)->get();
$results = Mapplication::MApplication()->where(function($findHrsbu)->where(function($results) use ($findHrsbu) {
foreach($findHrsbu as $HrSbu){
$results->orWhere('sbu.id', '=', $HrSbu->sbu_id);
}
})->get();
$results->whereIn('sbu.id', '=', array($dataArray));