微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-Laravel 4雄辩的模型链接了附加的where子句

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

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

最后一次查询运行会产生“ SELECT * from Members”,因此似乎忽略了我的where子句,这是我在做什么错?

顺便说一句,我知道我可以做$members = new Member :: where(…)等…,但是我将在循环中添加where子句,以便对数据库结果进行过滤.

UPDATE

解决此问题的唯一方法似乎是添加一个可以捕获所有初始化的位置,例如:

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

但这似乎是一个很大的漏洞.我没有尝试做任何复杂的事情,所以我不能成为唯一遇到此问题的人吗?

已修正

对于任何在这里跌跌撞撞的人,我已使用以下方法修复了此问题:

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

不知道这是否是正确的方法,但是它对我有用,并且看起来并不像hack.

解决方法:

我不相信Eloquent这样的作品.

尝试这个…

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐