laravel 一個 input 的值同時用來搜尋多個 column

如: 同一個 search input 的值想要搜尋好幾個欄位,可以用 whereNested。

Example: 
if (isset($query['query']) && $query['query'] !== "" ) {
    $q->whereNested(function($seq) use ($query) {
        $seq->orwhere('name', 'LIKE', '%' . $query['query'] . '%');
        $seq->orwhere('subject', 'LIKE', '%' . $query['query'] . '%');
        $seq->orwhere('address', 'LIKE', '%' . $query['query'] . '%');
        $seq->orwhere('description', 'LIKE', '%' . $query['query'] . '%');
    }, 'and');
}


不確定有沒有更好的方式。

參考 http://stackoverflow.com/questions/15167770/laravel-eloquent-search-two-optional-fields

Laravel 5 以上請參考:
https://laravel.com/api/5.2/Illuminate/Database/Query/Builder.html#method_whereNested


留言

這個網誌中的熱門文章

[Android] 筆記 手機上測試自己的 APP

解決fatal: Not a git repository (or any of the parent directories): .git錯誤

[Android 筆記] 設定 ImageView 的圖檔來源