Php 拉威尔5.4摘下一整张单子
在我的Laravel模型控制器中,我有: 公共功能guestInfo($id) 在我的刀片文件中,我有以下内容:Php 拉威尔5.4摘下一整张单子,php,laravel,Php,Laravel,在我的Laravel模型控制器中,我有: 公共功能guestInfo($id) 在我的刀片文件中,我有以下内容: @foreach ($guests as $guest) some html stuff in here {!! Form::select('name', $guest->languages->pluck('name')->all(), ['class' => 'form-control']) !!} more html @endforeach
@foreach ($guests as $guest)
some html stuff in here
{!! Form::select('name', $guest->languages->pluck('name')->all(), ['class' => 'form-control']) !!}
more html
@endforeach
Person是db表“persons”的一个模型,“languages”是“属于”Person的相对模型
在我的语言表中,我有不同的语言行:“英语、西班牙语等”,每一行都有自己的id。我的目标是让所有的语言都出现。然而,目前使用上述代码,我只会显示一种语言
有什么想法吗?您的代码将只检索与人相关的语言。如果要显示所有语言,只需将它们作为
id=>name
对检索并传递到视图
$guests = Person::where('id', $id)->get();
$languagess = Language::pluck('name', 'id);
然后使用$languages
@foreach ($languages as $key => $val)
{!! Form::select('name', $key, ['class' => 'form-control']) !!}
@endforeach
最后,在@devnullψ的帮助下,我这样做了。不完全像他建议的那样,但它给了我一些方向 控制器:
public function guestInfo($id)
{
$guests = Person::where('id', $id)
->with('languages')
->get();
$languages = Language::pluck('name')->toArray();
return view('layouts.visitor', ['guests' => $guests, 'languages' => $languages]);
}
然后在我的刀刃上:
{!! Form::select('name', $languages, 'name', ['placeholder' => '<select>','class'=>'form-control']) !!}
{!!表单::选择('name',$languages,'name',['placeholder'=>'','class'=>'Form-control'])
如果您执行dd($guest->languages)
在您的控制器中
是否得到一个包含多种语言的数组?这会导致错误:为foreach()@devnullψ提供的参数无效您是否转储了“$languages”?您应该首先检查数组是否为空,然后才遍历它
{!! Form::select('name', $languages, 'name', ['placeholder' => '<select>','class'=>'form-control']) !!}