gpt4 book ai didi

php - 类 Collection 的对象无法转换为 int

转载 作者:行者123 更新时间:2023-12-04 03:04:13 24 4
gpt4 key购买 nike

我没有从 Controller 中得到选择选项
这是我的编辑页面

{!! Form::select('channel_id',[''=>'Select A Channel'] + $channels,null,['class'=>'form-control']) !!}

下面是我的 Controller

public function edit($id)
{
$channels = Channel::all() ;

$d = Discussion::findOrFail($id);

return view('discussion.edit',compact('channels','d'));
}

最佳答案

Form::select仅意味着采用一组键值对来设置选项。

你可以做的是使用 pluck()方法:

[''=>'Select A Channel'] + $channels->pluck('name', 'id')->toArray()

$channels->pluck('name', 'id')->prepend('Select A Channel', '')->toArray() // I'm not sure if you will need `->toArray()` here

如果您不打算使用 $channels对于页面上的任何其他内容,您将能够使用 pluck()在 Controller 中代替:

$channels = Channel::pluck('name', 'id');

然后在你的blade你可以做的文件:

[''=>'Select A Channel'] + $channels->toArray()

$channels->prepend('Select A Channel', '')->toArray() 

您需要更改 nameid我用过的占位符 pluck()匹配 channels 中的列名表。

最后,取决于您希望 <select> 的占位符的行为您实际上可以通过以下方式设置它:

{!! Form::select('channel_id', $channels->pluck('name', 'id'), null, ['class'=>'form-control', 'placeholder' => 'Select A Channel']) !!}

注意 'placeholder' => 'Select A Channel']在最后一个数组中:

https://laravelcollective.com/docs/5.3/html#drop-down-lists

关于php - 类 Collection 的对象无法转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46129299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com