表与hasManyThrough

时间:2015-07-10 20:14:06

标签: php sql laravel laravel-4 eloquent

我在Laravel中有3个模型(用户,付款,购买)。

我想要的很简单,但我不知道如何用Laravel / Eloquent做到这一点;我会用原始SQL成功。

我想在没有太多代码的情况下购买用户。

users表与payments表链接,该表链接到purchases表。结局代码看起来像

$purchases = $user->purchases()->get();

我的模特看起来像这样

purchases and payments models

所以我尝试了一个简单的

public function purchases()
{

    return $this->hasManyThrough('Purchase', 'Payment');

}

但它不起作用

  

SQLSTATE [42S22]:找不到列:1054未知列   'on clause'中的'purchasess.payment_id'(SQL:选择purchases。*,   来自payments内部加入user_id的{​​{1}}。purchases   paymentspayments = idpurchases其中payment_idpayments   = 1)

此处非常简单,它会搜索user_idpurchases,但我的表格组织需要加入payment_idpayment。你怎么能告诉Laravel?还有另一种方法可以做我想要的吗?

也许我可以在原始SQL中执行此操作,但保留通过Eloquent生成的对象?我愿意接受任何解决方案^^

细节:我不能改写我的桌子。

0 个答案:

没有答案