Shi*_*hin 3 mysql laravel eloquent
我还是这个 Laravel 的新手,现在我在从数据库中获取数据时遇到了麻烦。我想得到的是当只有一个数据可用时,第二个参数不会被执行,但是如果第二个参数有一些可用的数据,那么第一个参数和第二个参数的所有数据都将被调用。
$detail = Barang_Keluar_Detail::findOrFail($id); //15
$cariid = $detail->pluck('barang_keluar_id');
$instansiquery = Barang_Keluar::where('id',$cariid)->first(); //21
$instansiid = $instansiquery->pluck('instansi_id');
$tanggal = $instansiquery->pluck('tanggal')->first();//2019-12-31
Run Code Online (Sandbox Code Playgroud)
参数在这里
$cariinstasama = Barang_Keluar::where('id', $cariid)
->orWhere(function ($query) use($instansiid, $tanggal) {
$query->where('tanggal', "'$tanggal'")
->where('instansi_id', $instansiid);
});
Run Code Online (Sandbox Code Playgroud)
请任何帮助将不胜感激,谢谢。
Laravel 查询构建器提供了使用when(). 您可以在查询中放置条件子句,如下所示:
$cariinstasama = Barang_Keluar::where('id', $cariid)
->when($instansiid, function ($query, $instansiid) {
return $query->where('instansi_id', $instansiid);
})
->when($tanggal, function ($query, $tanggal) {
return $query->where('tanggal', $tanggal);
})->get();
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅https://laravel.com/docs/5.8/queries#conditional-clauses
| 归档时间: |
|
| 查看次数: |
239 次 |
| 最近记录: |