2017-12-31 73 views
0

は私が管理し、検索ボックスに入力された検索語に応じlaravel 5に読み込まれるデータにwhere節を使用するにはどうすればよいですか?

は私が保存しているユーザーのみを表示したいキーワード最初

$keyword = $request->get('search'); 

、その後

$users = User::with('admin')->where('role', 'super_admin') 
        ->where(function ($query) use($keyword){ 
         $query->where('id', 'LIKE', "%$keyword%") 
         ->orWhere('name', 'LIKE', "%$keyword%"); 
      })->paginate($perPage); 

このメインテーブルの検索用語としてuserテーブル

でも、私はadmin taを使ってフィルタリングしたいBLE列

$users = User::with('admin')->where('role', 'super_admin') 
        ->where(function ($query) use($keyword){ 
         $query->where('id', 'LIKE', "%$keyword%") 
         ->orWhere('email', 'LIKE', "%$keyword%") 
         ->orWhere('name', 'LIKE', "%$keyword%") 
         ->orWhere($this->admin->status, 'LIKE', "%$keyword%"); 
      })->paginate($perPage); 

これは、この行->orWhere($this->admin->status, 'LIKE', "%$keyword%");

にエラーundefined property admin

を投げるようにどのように私は、フィルタリングデータで管理列を使用することができます

答えて

0

サンプル熱心ロード

$users = User::with([ 
     'admin' => function($query) use($keyword) { 
      $query->where('status', 'LIKE', "%$keyword%") 
     } 
    ]) 
    ->where('role', 'super_admin') 
    ->where(function ($query) use($keyword){ 
        $query->where('id', 'LIKE', "%$keyword%") 
        ->orWhere('email', 'LIKE', "%$keyword%") 
        ->orWhere('name', 'LIKE', "%$keyword%") 
    })->paginate($perPage); 
関連する問題