我有以下代码(成员只是一个标准的Eloquent模型)
$members = new Member;
$members->where('user_id', '=', 5);
$_members = $members->get();
Run Code Online (Sandbox Code Playgroud)
最后一个查询运行产生" SELECT * from members
",所以它似乎忽略了我的where子句,我在这里做错了什么?
顺便说一句,我知道我可以做其他$members = new Member::where(...)
...但我会where
在循环中添加子句,以便对数据库的结果进行过滤.
UPDATE
解决这个问题的唯一方法似乎是添加一个可以捕获所有初始化的地方,例如:
$members = Member::where('member_id', '<>', 0);
$members->where('user_id', '=', 5);
$_members = $members->get();
Run Code Online (Sandbox Code Playgroud)
但这似乎有点像黑客.我不想做任何复杂的事情,所以我不能成为唯一一个遇到这个问题的人?
固定可能
对于那些在这里跌跌撞撞的人我已经通过以下方式解决了这个问题:
$members = Member::query();
$members->where('user_id', '=', 5);
$_members = $members->get();
Run Code Online (Sandbox Code Playgroud)
不确定这是否是正确的方法,但它适用于我,并不像一个黑客.