簡體   English   中英

Laravel 5 Eloquent在哪里和哪里

[英]Laravel 5 Eloquent where and orwhere

我試圖從表中獲得多個where和/或子句的結果。 但我沒有收到好成績!

$queries = journal::where(function($query)
{
$term =Input::get('text');
$query->where('titre', 'like', '%'.$term.'%')
    ->where('etat','!=','9')
    ->where('type', 0)
    ->orWhere('type', 1);
})->take(10)->get();    

您應該像這樣進行查詢:

$query->where('titre', 'like', '%'.$term.'%')
    ->where('etat','!=','9')
    ->where(function ($query) {
            $query->where('type', 0)
                  ->orWhere('type', 1);
        })

如果你有必要想使用orWhere否則使用whereBetween。 參考這里

您可以使用以下方式使用相同的查詢與動態值進行比較:

$valSearch='abcd';
$query->where('field1', 'like', '%'.$val1.'%')
    ->where('field2','!=','2')
    ->where(function ($query) use ($valSearch) {
            $query->where('field3', $valSearch)
                  ->orWhere('field4', $valSearch);
        })

查詢將執行為:

field1 like '%{$val1}% AND field2 != 2 AND (field3='abcd' OR field4='abcd')

它可能對某些人有幫助以供以后使用。 參考這里

請改用whereBetween()

$queries = journal::where(function($query)
{
    $term =Input::get('text');
    $query->where('titre', 'like', '%'.$text.'%')
        ->where('etat','!=','9')
        ->whereBetween('type', [0, 1]);
})->take(10)->get(); 

https://laravel.com/docs/5.4/queries - 其他Where子句

暫無
暫無

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

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