doulv1760 2018-03-01 00:57
浏览 341
已采纳

如何在Laravel中的find()方法中指定两个或更多条件?

I'm having problems fetching data using Model::find() with two conditions. I want to return one record that has the given member_id AND its role is guest:

$member = CalendarMembers::find(["member_id" => $r->member_id, "role" => "guest"]);

But this isn't working. I have one user that when created, a new register is added to calendar_members table specifying this user as parent, yet, when attempting to fetch this user automatically created by just giving the member_id, it will be fetched, which SHOULD NOT.

I cannot use other ways such as:

$member = \DB::table("calendar_members")->where([ ["member_id", "=", $r->member_id], ["role", "=", "guest"] ])->first();

Because then $member->delete() or $member->destroy() will throw an error saying either delete or destroy do not exist.

  • 写回答

3条回答 默认 最新

  • duanlei20082008 2018-03-01 00:59
    关注

    The find() method uses ID to get a record. You need to use the where() and first() methods:

    CalendarMembers::where(['member_id' => $r->member_id, 'role' => 'guest'])->first();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部