猿问

Laravel Blade,在集合上使用 pluck 不会返回数组

希望你们中的一位能帮助我解决问题。


我收到一个错误,告诉我我没有在 in_array() 中使用数组。


使用 pluck() 应该会给我一个数组,对吧?


{{ Request::ip() }}

{{ $pug->ipbans->pluck('ip') }}


Output:

127.0.0.1

["127.0.0.1","127.0.0.1"]

然后在刀片中:


@if( in_array( Request::ip(), $pug->ipbans->pluck('ip')  ) )

    <div class="alert alert-danger">

        Your IP has been blocked on this page. Changes not allowed.

    </div>

@endif

我收到以下错误:


in_array() expects parameter 2 to be array, object given (View: ...)

所以它告诉我这$pug->ipbans->pluck('ip')不是一个数组 - 但它是,对吗?


明月笑刀无情
浏览 121回答 3
3回答

有只小跳蛙

集合方法“pluck”返回集合而不是数组要使结果成为数组,您可以使用“all”:{{ $pug->ipbans->pluck('ip')->all() }}

皈依舞

尝试这样$pug->ipbans->pluck('ip')->toArray();

慕工程0101907

你只需要添加 toArray()&nbsp;$pug->ipbans->pluck('ip')->toArray();
随时随地看视频慕课网APP
我要回答