Laravel 4雄辩的模型链接附加的条款 [英] Laravel 4 eloquent models chaining additional where clauses

查看:63
本文介绍了Laravel 4雄辩的模型链接附加的条款的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码(成员只是一个标准的雄辩模型)

I Have the following code (member is just a standard Eloquent model)

$members = new Member;
$members->where('user_id', '=', 5);
$_members = $members->get();

最后一次查询运行会从成员中生成 SELECT * c>,所以似乎忽略了我的where子句,我在这里做错了什么?

The last query run produces "SELECT * from members", so it seems to be ignoring my where clause, what am I doing wrong here?

顺便说一下,我知道我可以做 $ member = new Member :: where(...) etc ...但是我将按顺序在循环中添加其中子句对数据库的结果进行过滤。

By the way I know I could do $members = new Member::where(...) etc... but I will be adding the where clauses in a loop in order to create filtering on the results from the database.

更新

这个方法似乎是添加一个可以捕获所有初始化的地方,如:

The only way around this seems to be to add a where that will catch all on initialization such as:

 $members = Member::where('member_id', '<>', 0);
 $members->where('user_id', '=', 5);
 $_members = $members->get();

但这似乎是一个黑客。我不想做任何复杂的事情,所以我不能成为唯一有这个问题的人。

But this seems quite a bit of a hack. I am not trying to do anything complicated so I cant be the only one who has had this problem?

固定可能

对于任何绊倒在这里的人,我已经通过使用以下方式解决了这个问题:

For anyone who has stumbled here I have fixed this by using:

$members =  Member::query();
$members->where('user_id', '=', 5);
$_members = $members->get();

不知道这是否是正确的方式,但它适用于我,并不像黑客

Not sure if that is the correct way but it works for me and doesn't appear like a hack.

推荐答案

我不相信演绎如此。

尝试这个...

$members = new Member;
$members = $members->where('user_id', '=', 5);
$members = $members->get();

这篇关于Laravel 4雄辩的模型链接附加的条款的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆