私はクエリ構築中にカスタムモデル関数内でメソッドを呼び出そうとしていますが、エラーが発生しています。これは可能です。実際にはクエリを中断しようとしていますfilterDataが長くなる可能性があるため、2つの関数があります。モデルでlaravel 5.4 where句の中でカスタムメソッドを使用することができます
は、私はあなたがより多くの関係の代わりに、生のDBクエリを使用する必要があり、この
public function get_filter_sql2($query, $filterData){
if(count($filterData) > 0){
foreach($filterData as $key=>$value){
if($value!=''){
if($key == 'title'){
$query->where('b.title', 'LIKE', '%'.$value.'%');
}
if($key == 'bannercatID'){
$query->where('b.bannercatID', '=', $value);
}
if($key == 'status'){
$query->where('b.status', '=', $value);
}
}
}
}
return $query;
}
function scopeGet_all_records2($query,$filterData, $per_page){
//DB::enableQueryLog();
$result = DB::table('banner as b')
->leftJoin('banner_category as bc', 'bc.bannercatID', '=', 'b.bannercatID')
->select('*')
->where(function ($query) use ($filterData){
$this->get_filter_sql2($query, $filterData);
})
->orderBy('b.bannercatID', 'ASC')
->paginate($per_page)
;
//$result = DB::getQueryLog();
//print_r($result);
if(count($result) > 0){
$result = $result;
}
else{
$result = false;
}
return $result;
}
共有したいエラーがありますか? – madalinivascu
何か問題があるため、エラーが発生しました。あなたのエラーの詳細の詳細。 – Amarnasan
実際にはコントローラのecho $ records-> isEmpty();空のレコードがあるときには1を返します。エラーを返すのはなぜですか? – user1987095