Laravel 4雄辩的模型链接附加的条款 [英] Laravel 4 eloquent models chaining additional where clauses
问题描述
我有以下代码(成员只是一个标准的雄辩模型)
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屋!