Php 我的mysql查询行有问题

Php 我的mysql查询行有问题,php,mysql,laravel-4,eloquent,Php,Mysql,Laravel 4,Eloquent,我有一个很有说服力的问题 $m[] = Auth::user()->id; foreach ($friends as $friend) { $m[] = $friend->added_user; } $news = NewsFeed::whereIN('user_id', $m )->take($limit)->skip($offset)->get(); 实际查询: $news = NewsFeed::whereIN('user_id', arr

我有一个很有说服力的问题

$m[]     = Auth::user()->id;
foreach ($friends as $friend) {
    $m[] = $friend->added_user;
}

$news = NewsFeed::whereIN('user_id', $m )->take($limit)->skip($offset)->get();
实际查询:

$news = NewsFeed::whereIN('user_id', array( 'CUS_6367VkCX5i243656TwM3', 'CUS_G530t786S1GVwlcJ3Nw1', 'CUS_xks5oi3dy2C0sa02usD2' ) )->take(10)->skip(5)->get();
数据库:

它应该返回一些东西,Newsfeed表中有数据,但是 结果是无,它是空的

我的Laravel 4.2雄辩的查询有什么问题

但当我这么做的时候:

$news = NewsFeed::whereIN('user_id', $m )->get();
它返回一个结果,没有限制和跳过。

似乎$m[]=$friend->added_user;你错在哪里 dd$friend->已添加用户

您将在阵列中看到$m个用户对象。但是,在查询中需要的是添加的用户的用户id

在这种情况下,应按如下方式进行修改:

$m[]=$friend->添加的用户->第一个->用户id//这取决于您添加的用户返回的内容,如果它返回一个数组,您应该循环它以获取所有id,或者使用->列出“用户id”以获取用户id数组


希望它有帮助

这将实现以下目的:

$news = DB::select( DB::raw(" SELECT * FROM `news_feed` WHERE `user_id` IN ('CUS_6367VkCX5i243656TwM3', 'CUS_G530t786S1GVwlcJ3Nw1', 'CUS_xks5oi3dy2C0sa02usD2') LIMIT 5, 5 ") );

为这些用户发布表中的实际数据,结果是否完整?只有3条记录?是的,只有3个用户注册。你的意思是你想要newsfeed表?我认为问题应该是把它转换成laravel Elount ORM SELECT*从CustomerID在1,2限制5,5;注意:此查询无效。请竖起大拇指!我已经更新了我的问题,我添加了一个users的数据库表。如果我这样做,它可以工作$news=NewsFeed::其中'user_id',$m->get;但我想使用take和skip,限制结果。我认为他所做的是这样的:从CustomerID在1,2限制5,5的客户中选择*;这是错误的。它不是在工作