Php Larvel将数据传递给array(),然后检查in_数组是否抛出错误

Php Larvel将数据传递给array(),然后检查in_数组是否抛出错误,php,arrays,laravel,laravel-4,Php,Arrays,Laravel,Laravel 4,嗨,我正在使用Laravel,我正在从数据库表中获取登录用户的收藏夹。当我看到一篇文章时,我正在从CMS API获取,我也在获取登录用户的收藏夹,我想检查用户是否已经喜欢这篇文章,但是获取收藏夹,并检查UID是否存在于数组中,如果存在,我将输出一个不同样式的图标。因此,我想我会将数据作为数组传递,然后在_array中使用php函数,但是我得到了以下错误: Argument 1 passed to Illuminate\Database\Grammar::columnize() must be o

嗨,我正在使用Laravel,我正在从数据库表中获取登录用户的收藏夹。当我看到一篇文章时,我正在从CMS API获取,我也在获取登录用户的收藏夹,我想检查用户是否已经喜欢这篇文章,但是获取收藏夹,并检查UID是否存在于数组中,如果存在,我将输出一个不同样式的图标。因此,我想我会将数据作为数组传递,然后在_array中使用php函数
,但是我得到了以下错误:

Argument 1 passed to Illuminate\Database\Grammar::columnize()
must be of the type array, string given
以下是我检索数据的方式:

 //fetch article from cms
 $item = $this->client->fetchPage($id);
$favourites = Auth::user()->favourites()->get("article_uid")->toArray();
在我看来

  @if (in_array($item->uid, $favourites)) 
      Already a favourite 
@else 
 {{Form::open(['action'=>['FavouritesController@store',$item->UID]])}}
    <button type="submit" class="btn btn-danger"><span class="icon-remove-user"></span>Select Favourite</button>
 {{Form::close()}}  
@endif

理想情况下,我希望对照
$item->uid
检查
$favorites
数组中的
文章uid
。但是我得到了这个错误,我不确定我做错了什么,我认为这是因为我的数组比上的标准文档更复杂。在将其传递给视图或其他方法之前,是否需要对其进行简化?有什么想法吗?

如果您只需要ID作为数组,请使用
lists()


顺便说一下,您收到的错误是由于您向
get()
传递了一个字符串造成的。您需要传递一个数组(即使它只是一列):


谢谢,这解决了错误并按如下方式输出数组:
array(3){[0]=>string(14)“testb”[1]=>string(6)“testb”[2]=>string(18)“testc”}
我没有触动数组中的
方法,但这仍然会输出add favorite button事件,尽管它在数组中。您可以回显
$item->uid
以确保它保持正确的值吗?
array(3) {
    [0] = > array(6) {
        ["id"] = > string(1)"1" ["user_id"] = > string(1)"1" ["article_uid"] = > string(14)"testb" ["deleted_at"] = > NULL["created_at"] = > string(20)"-0001-11-30 00:00:00" ["updated_at"] = > string(20)"-0001-11-30 00:00:00"
    }[1] = > array(6) {
        ["id"] = > string(1)"2" ["user_id"] = > string(1)"1" ["article_uid"] = > string(6)"test" ["deleted_at"] = > NULL["created_at"] = > string(20)"-0001-11-30 00:00:00" ["updated_at"] = > string(20)"-0001-11-30 00:00:00"
    }[2] = > array(6) {
        ["id"] = > string(1)"3" ["user_id"] = > string(1)"1" ["aritlce_uid"] = > string(18)"testb" ["deleted_at"] = > NULL["created_at"] = > string(19)"2015-02-08 11:25:32" ["updated_at"] = > string(19)"2015-02-08 11:25:32"
    }
}
$favourites = Auth::user()->favourites()->lists("article_uid");
$favourites = Auth::user()->favourites()->get(["article_uid"])->toArray();