【问题标题】:How to query Laravel Eloquent belongsTo relationship?如何查询 Laravel Eloquent 的 belongsTo 关系?
【发布时间】:2019-02-15 13:15:58
【问题描述】:

我正在研究 Laravel Eloquent 关系,有不同的例子。我有一个州模型和城市模型,其中 City belongsTo State 和 State hasMany City。

根据https://laravel.com/docs/5.7/eloquent-relationships#eager-loading 上的给定代码,我成功查询了名称以“p”开头的城市的州。但我无法检索州名以“l”开头的所有城市。

这可能是一个非常基本的问题,但我仍在寻求帮助以了解失败的原因和原因。

【问题讨论】:

  • 谢谢@afraz。是不是可以通过State模型查询,比如 $states= States::where('city', function ($query) { $query->where('name', 'like', 'p%') ; })->get(); ?
  • Above 将返回相关城市名称以字母 p 开头的州

标签: php laravel eloquent laravel-5.6


【解决方案1】:

试试这个:

State::where('name','like','l%')->get();

查询关系:

$states= City::whereHas('state', function ($query) {
   $query->where('name', 'like', 'l%');
})->get();

【讨论】:

    【解决方案2】:

    您可以使用whereHas 对相关模型应用过滤器,例如

    $states= City::whereHas('state', function ($query) {
        $query->where('name', 'like', 'i%');
    })->get();
    

    Querying Relationship Existence

    【讨论】:

      猜你喜欢
      • 2015-12-22
      • 2018-08-06
      • 2013-10-03
      • 2017-07-19
      • 1970-01-01
      • 2021-09-25
      • 2015-01-21
      • 2017-01-14
      • 1970-01-01
      相关资源
      最近更新 更多