dsplos5731 2017-09-12 16:05
浏览 28
已采纳

Laravel 5.4 Eloquent在哪里父母

So I have two models setup, User and Post. Post has a belongsTo setup of user and User has a hasMany setup for posts.

When getting all my posts, I want to make sure the user isn't banned. Banned is an int in the database in a column called ban and I want to make sure it's equal to 0. I originally looped through the posts, checked to make sure user wasn't banned and then pushed it to an array and passed that array to the view which was working fine. However, I now want to enable paginate and it's broken because I'm not passing in the eloquent object.

Here is my eloquent right now:

$posts = Post::where('status', '>', 1)->orderBy('published_date', 'desc')->paginate(10);
  • 写回答

1条回答 默认 最新

  • duandi1919 2017-09-12 17:07
    关注

    Use whereHas()

    $posts = Post::where('status', '>', 1)->whereHas('user', function($q) {
        $q->where('ban', 0);
    })->orderBy('published_date', 'desc')->paginate(10);
    

    I assume, you have user relation on User model from Post model.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 MIT控制器能控制不稳定系统吗
  • ¥15 公司代码X对业务伙伴X无效,处理方法?
  • ¥15 微信内链接跳转到浏览器打开怎么实现
  • ¥15 三角波可以直接加施密特电路整形到矩形波吗实物
  • ¥15 html,php,在使用html请求php文件时发生了错误,无法请求到php文件读取数据库并用javascript进行数据显示,刷新
  • ¥15 touchsocket udp组播
  • ¥20 MAC怎么安装Silverlight 插件?以及安装了怎么启用
  • ¥15 VS2012中查询语句无法填入解析,数值传不进去
  • ¥15 gis系统开发出现命名空间“ESRI.ArcGIS”中不存在类型或命名空间名“Analyst3D”报错
  • ¥15 怎么让ai定时给我发信息 c#或者python