簡體   English   中英

Laravel Query Builder介於兩者之間

[英]Laravel Query Builder wherebetween

我構建了一個搜索表單,它將從數據庫中選擇日期插入數據標簽的標記。 這工作正常但是,當我添加時間時,我得到錯誤。

我重新編寫了一個類似的查詢:

$datefrom = $request->input('datefrom');
$dateto = $request->input('dateto');
$timefrom = $request->input('timefrom');
$timfrom = $timefrom.':00';
$timeto = $request -> input('timeto');
$timto = $timeto.':00';
$type = $request->input('type');

$maps = Map::select('lat','lng',$type,'temp','humidity','date','time')
                ->where(function($query){
                    $query->whereBetween('date',array($datefrom,$dateto))
                    ->whereBetween('time',array($timfrom,$timto));
                })
                ->get();

當我在搜索表單上輸入檢查時,我收到錯誤:

未定義的變量:$ datefrom等

有幫助嗎?

你已經將它傳遞給使用該功能use ,如:

->where(function($query) use ($datefrom){
     $query->whereBetween('date',array($datefrom,$dateto))
           ->whereBetween('time',array($timfrom,$timto));
})

如果你不止一個,你可以通過它們:

->where(function($query) use ($datefrom,$dateto,$timfrom,$timto){
     $query->whereBetween('date',array($datefrom,$dateto))
           ->whereBetween('time',array($timfrom,$timto));
})

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM