【发布时间】:2020-07-22 13:46:37
【问题描述】:
晕,我有数据,想显示如下图
有两种模型关系,Person和Installment。
这是 Person 模型:
class Person extends Model
{
protected $table = 'person';
public function angsuran()
{
return $this->hasMany(Installment::class);
}
}
这是分期付款模式:
class Installment extends Model
{
protected $table = 'installment';
public function person()
{
return $this->belongsTo(Person::class);
}
}
这是我查询和显示数据的控制器
$data = Person::with('angsuran')
->whereHas('angsuran', function ($q) {
$q->whereBetween('installment_date', [\DB::raw('CURDATE()'), \DB::raw('CURDATE() + INTERVAL 7 DAY')])
->where('installment_date', '=', function () use ($q) {
$q->select('installment_date')
->where('status', 'UNPAID')
->orderBy('installment_date', 'ASC')
->first();
});
});
return $data->get();
它显示错误 where 子句中的未知列 person.id 请帮忙。谢谢。
【问题讨论】:
-
$q 应该在函数内 ($q) 而不是使用 ($q)
-
我已经做了那个显示错误,例如查询不知道表名
-
是的,您还需要指定一个表,$q->select('installment_date').. 但是从哪里开始?你可以使用 $q->from('table_name')->select(...