Eloquentで熱心にロードされたテーブルをフィルタリングするにはどうすればよいですか?

ジョーダンラップ

基本的には、ユーザーを取得して電子メールアドレスを熱心にロードし、where句を使用して取り込むユーザーを制限できるようにしたいと考えています。

$query = User::with('emails')->whereIn ('user_id', $user_ids);

$query->where('emails.email_address', 'LIKE', "%example%");

$usersWithEmails = $query->get();

これは機能します:

$query->where('first_name', 'LIKE', "%test%");

これにより、where句は基本ユーザーオブジェクトにのみ適用されていると思いますが、その電子メールに一致しないユーザーを取得したくありません。いくつかのクエリでこれを実行できることは承知していますが、これはUIフィルター用であり、多くの子テーブルでフィルター処理できるため、これははるかにうまく機能します)。

それ、どうやったら出来るの?

エセキエル・モレノ

関係に基づいてユーザーをフィルタリングする必要がある場合、探しているのはwhereHasです。

http://laravel.com/docs/5.0/eloquent#querying-relations

User::whereIn('id', [1, 3])->whereHas('emails', function ($query) {
  $query->where('emails.email_address', 'LIKE', '%example%');
})->with('emails');

これにより、id = [1,3]のユーザーが選択され、電子メールパターンが一致しない結果が除外され、結果の行の関係が読み込まれます。

whereHasand withLoganの例)使用の違いは、後者はすべてのユーザーをロードしますが、積極的なロードパターンが一致しない場合、電子メールフィールドはNULLになります

もちろん、積極的な読み込み制限を使用してコレクションをnullフィールドでフィルタリングすることで同じことを実現できますが、これはよりクリーンです。DBに仕事を任せます=)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Commercetools ProductProjectionsSearch APIでローカライズされたフィールドをフィルタリングするにはどうすればよいですか?

分類Dev

Sequelizeで、同じテーブルから複数の外部キー行を熱心にロードするにはどうすればよいですか?

分類Dev

Primefacesレイジーデータテーブルでフィルタリングされた値を取得するにはどうすればよいですか?

分類Dev

Angular jsテーブルからフィルタリングされたデータを取得するにはどうすればよいですか?

分類Dev

フィルタリングされた結果をテーブルに動的に表示するにはどうすればよいですか?

分類Dev

検索およびフィルタリングされた値のクエリテーブルを表示するにはどうすればよいですか?

分類Dev

テーブル列をループして別のテーブルをフィルタリングし、フィルタリングされた各テーブルを電子メールで送信するにはどうすればよいですか?

分類Dev

材料テーブルでフィルタリングされた日付形式を変更するにはどうすればよいですか?

分類Dev

フィルタリングされたテーブルの最初と最後のセルを選択するにはどうすればよいですか?

分類Dev

フィルタリングされたIDでツリービューをフィルタリングするにはどうすればよいですか?

分類Dev

どうすればangular6はタブコンテンツを熱心にロードできますか

分類Dev

Laravelで熱心にロードされたテーブルからフィールドを選択する方法はありますか?

分類Dev

DjangoManyToManyフィールドをフィルタリングするにはどうすればよいですか

分類Dev

フィルタリング後に表示されるテーブル行の数をカウントするにはどうすればよいですか?

分類Dev

続編で関連するテーブルまたは親をフィルタリングするにはどうすればよいですか

分類Dev

他のテーブルのレコードでクエリをフィルタリングするにはどうすればよいですか?--laravel

分類Dev

Enterprise Architectでフローをフィルタリングするにはどうすればよいですか?

分類Dev

Enterprise Architectでフローをフィルタリングするにはどうすればよいですか?

分類Dev

プロパティ名でフィルタリングされたPowerShellオブジェクトのプロパティワイルドカードを返すにはどうすればよいですか?

分類Dev

パブリックフォルダからNextJsの動的にルーティングされたページに画像/コンテンツをロードするにはどうすればよいですか?

分類Dev

NHibernate:lazyloadを使用せずに1つのSQLクエリを介してサブエンティティをフィルタリングしてサブエンティティを熱心にフェッチするにはどうすればよいですか?

分類Dev

フィルタリングされたレコードでのみPowerBIでMAX関数を使用するにはどうすればよいですか?

分類Dev

iOSのブールフィールドでparse.comフィルタリングでpfqueryを使用するにはどうすればよいですか?

分類Dev

フィルタリングされた選択のローカル変数を設定するにはどうすればよいですか?

分類Dev

djangoでレンダリングされたテーブルにスクロールを追加するにはどうすればよいですか?

分類Dev

クラスでフィルタリングした後、htmlテーブルの要素を合計するにはどうすればよいですか?

分類Dev

zshでグロブをフィルタリングするにはどうすればよいですか

分類Dev

tornadofxアプリ内のobservableArrayListにバインドされたアイテムのフィルタリングを可能にするためにビューをリファクタリングするにはどうすればよいですか?

分類Dev

テーブルとして表示したJavaScript定数をフィルタリングするにはどうすればよいですか?

Related 関連記事

  1. 1

    Commercetools ProductProjectionsSearch APIでローカライズされたフィールドをフィルタリングするにはどうすればよいですか?

  2. 2

    Sequelizeで、同じテーブルから複数の外部キー行を熱心にロードするにはどうすればよいですか?

  3. 3

    Primefacesレイジーデータテーブルでフィルタリングされた値を取得するにはどうすればよいですか?

  4. 4

    Angular jsテーブルからフィルタリングされたデータを取得するにはどうすればよいですか?

  5. 5

    フィルタリングされた結果をテーブルに動的に表示するにはどうすればよいですか?

  6. 6

    検索およびフィルタリングされた値のクエリテーブルを表示するにはどうすればよいですか?

  7. 7

    テーブル列をループして別のテーブルをフィルタリングし、フィルタリングされた各テーブルを電子メールで送信するにはどうすればよいですか?

  8. 8

    材料テーブルでフィルタリングされた日付形式を変更するにはどうすればよいですか?

  9. 9

    フィルタリングされたテーブルの最初と最後のセルを選択するにはどうすればよいですか?

  10. 10

    フィルタリングされたIDでツリービューをフィルタリングするにはどうすればよいですか?

  11. 11

    どうすればangular6はタブコンテンツを熱心にロードできますか

  12. 12

    Laravelで熱心にロードされたテーブルからフィールドを選択する方法はありますか?

  13. 13

    DjangoManyToManyフィールドをフィルタリングするにはどうすればよいですか

  14. 14

    フィルタリング後に表示されるテーブル行の数をカウントするにはどうすればよいですか?

  15. 15

    続編で関連するテーブルまたは親をフィルタリングするにはどうすればよいですか

  16. 16

    他のテーブルのレコードでクエリをフィルタリングするにはどうすればよいですか?--laravel

  17. 17

    Enterprise Architectでフローをフィルタリングするにはどうすればよいですか?

  18. 18

    Enterprise Architectでフローをフィルタリングするにはどうすればよいですか?

  19. 19

    プロパティ名でフィルタリングされたPowerShellオブジェクトのプロパティワイルドカードを返すにはどうすればよいですか?

  20. 20

    パブリックフォルダからNextJsの動的にルーティングされたページに画像/コンテンツをロードするにはどうすればよいですか?

  21. 21

    NHibernate:lazyloadを使用せずに1つのSQLクエリを介してサブエンティティをフィルタリングしてサブエンティティを熱心にフェッチするにはどうすればよいですか?

  22. 22

    フィルタリングされたレコードでのみPowerBIでMAX関数を使用するにはどうすればよいですか?

  23. 23

    iOSのブールフィールドでparse.comフィルタリングでpfqueryを使用するにはどうすればよいですか?

  24. 24

    フィルタリングされた選択のローカル変数を設定するにはどうすればよいですか?

  25. 25

    djangoでレンダリングされたテーブルにスクロールを追加するにはどうすればよいですか?

  26. 26

    クラスでフィルタリングした後、htmlテーブルの要素を合計するにはどうすればよいですか?

  27. 27

    zshでグロブをフィルタリングするにはどうすればよいですか

  28. 28

    tornadofxアプリ内のobservableArrayListにバインドされたアイテムのフィルタリングを可能にするためにビューをリファクタリングするにはどうすればよいですか?

  29. 29

    テーブルとして表示したJavaScript定数をフィルタリングするにはどうすればよいですか?

ホットタグ

アーカイブ