【发布时间】:2014-09-25 21:47:02
【问题描述】:
我有以下结构
转弯
身份证
订单支付
身份证
turn_id
invoice_id
订单发票
身份证
order_id
订购
身份证
取消
合并
我想要做的是得到OrderPayments,其中Order既没有取消也没有合并
现在我依次有以下代码
class Turn{
public function orderPayments(){
return $this->hasMany('OrderPayment');
}
}
我应该怎么做才能只获得与Order 相关的付款
->where('canceled' < '0000-00-00 00:00:10 ')
->where('merged' < '0000-00-00 00:00:10 ')
非常感谢!!
EDIT 更新我实际拥有的关系
在OrderPayment我有函数
public function invoice(){
return $this->belongsTo('Invoice');
}
在OrderInvoice我有函数
public function order(){
return $this->belongsTo('Order');
}
这是我在Turn 上尝试的代码如下
public function orderPayments(){ return OrderPayment::whereHas('invoice',function($query){ $query->whereHas('order',function($query){ $query->where('canceled','<','0000-00-00 00:00:01') ->where('merged','<','0000-00-00 00:00:01'); }); })->where('turn_id','=',$this->id)->get(); }
我得到以下异常
Call to undefined method Illuminate\Database\Query\Builder::order()
【问题讨论】:
标签: php mysql laravel eloquent