几天来我一直遇到这个问题,并且在 Laravel 网络上没有文档或与谷歌搜索相关的任何问题。所以我想知道这是否可能,或者除了将所有数据从数据库加载到变量并进行过滤之外,我是否可以通过其他任何方式做到这一点。
获取添加到另一个父表的关系(cooperatives.next_due_date)代码
$coperatives = Cooperative::withNextDueDate()
->has("shares")
->with(["shares.lastDue" => function ($q) {
$q->whereRaw("due_in <> cooperatives.next_due_date");
}])
->get();
返回错误
'where 子句'中的未知列'cooperatives.next_due_date'
问题
我想获得到期日不是合作社 next_due_date 的股份的合作社。
合作社表列如下所示: { id,name,next_due_date }-> hasMany(Share)
共享表列如下所示: { id,cooperative_id } -> hasMany(ShareDue)
share_dues 表列如下所示: { id,cooperative_share_id }->belongsTo(Share)
lastDue 是所有共享的 shareDue,它只是 hasOne(ShareDue) 和 latest 而不是 hasMany(ShareDue)