我有以下代码(成员仅仅是一个标准的雄辩模型)Laravel 4雄辩车型串联额外的where子句
$members = new Member;
$members->where('user_id', '=', 5);
$_members = $members->get();
最后运行的查询产生“SELECT * from members
”,所以它似乎忽略了我的where子句,我在这里做错了什么?
顺便说一句,我知道我可以做$members = new Member::where(...)
etc ...但我将在循环中添加where
子句,以创建数据库结果的筛选。
UPDATE
解决这个问题的唯一方法似乎是添加一个地方,将捕获所有的初始化,如:
$members = Member::where('member_id', '<>', 0);
$members->where('user_id', '=', 5);
$_members = $members->get();
但这似乎相当黑客攻击的一位。我不想做任何复杂的事情,所以我不能成为唯一有这个问题的人?
使用MAYBE
固定的人谁在这里偶然发现我有固定的:
$members = Member::query();
$members->where('user_id', '=', 5);
$_members = $members->get();
不知道这是正确的做法,但我的作品并没有出现像黑客。
工作示例和非工作示例之间唯一的区别在于'Member'上的第一个调用是静态的。您的修复确保“Member”上的第一个调用是静态调用。所以,也许你应该看看来源并找出原因。 –