【发布时间】:2015-12-23 12:16:24
【问题描述】:
我在尝试查询 Eloquent 关系时遇到问题。
我有两张桌子
tbl_deals
- 身份证
- deal_id
- merchant_id
tbl_merchants
- 身份证
- merchant_id
- merchant_url_text
我将交易模型定义为
class deal extends Model
{
public function merchant() {
return $this->hasOne('App\merchant', 'merchant_id', 'merchant_id');
}
}
现在,我想根据其中的 Mercer_url_text = 我的控制器中的变量查询所有交易
这就是我正在尝试的方法
$deals = deal::with('merchant')->get(); //Retrieving all the deals with merchants
如果我返回 $deals,它会给我所有与商家关系的交易。
我如何通过说 where Mercer_url_text = $variable 来限制交易
我在努力
return $deals->where('merchant_url_text', $merchant_url_text)->get();
但它给了我一个错误说:
“缺少 Illuminate\Support\Collection::get() 的参数 1,在 ... 中调用”
我尝试在 Laravel Docs 中查找用于查询关系的文档。它谈到了这个例子
$user = App\User::find(1);
$user->posts()->where('active', 1)->get();
在这种情况下,它试图获取第一个用户并找到与该用户相关的相应帖子。
在我的情况下,我想从所有交易中过滤掉,即在我的控制器中具有 Mercer_url_text = 特定变量的交易。
对我如何实现这一点有任何帮助吗?
谢谢
【问题讨论】: