【问题标题】:where condition with laravel has many relationship与 laravel 的条件有很多关系
【发布时间】:2020-10-24 08:01:44
【问题描述】:

我正在尝试在 laravel elquent 查询中获取 where 条件的记录。 这是我的关系方法。

public function OrdersReferrals()
{
    return $this->hasMany('App\Order', 'referred_by');
}

public function referrals()
{
    return $this->hasMany('App\User', 'referred_by')->with('referrals', 'OrdersReferrals');
}

这是我的控制器查询

$userData = User::with('adminuserrreferrals')
   ->where('id', $id)
   ->where('payout_status', 'pending')
   ->get();

问题是这个查询,其中条件仅适用于用户表。而我需要这个->where('payout_status','pending') 来用于订单表。

【问题讨论】:

    标签: laravel laravel-5 eloquent


    【解决方案1】:

    你的问题不是很清楚,但我认为你想要这样的东西(过滤orders 表中的payout_status 字段):

    $userData = User::with('adminuserrreferrals')
        ->whereHas(['adminuserrreferrals' => function($query) {
            $query->where('payout_status', 'pending');
        }])
        ->where('id', $id)
        ->get();
    

    我希望ordsrs 表的adminuserrreferrals 关系方法在User 模型中正确定义,并且存在Order 模型。

    【讨论】:

      猜你喜欢
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      • 2014-07-10
      • 2015-08-05
      • 2016-10-12
      • 2015-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多