数组到字符串转换错误,Laravel

时间:2017-02-25 11:08:32

标签: php laravel laravel-5 eloquent

我试图将数据保存到数据库,但是我收到错误"数组到字符串转换"。它是我的控制者

public function create()
{
    $listapacjentow = Patient::pluck('nazwisko','id');
    return view('leczenie.create')->with('listapacjentow', $listapacjentow);
}

public function store(CreateOperacjaRequest $request)
{
    $operacja = new Operacja($request->all());
    $PacjenciIds = $request->input('PacjentList');
    $operacja->user()->associate($PacjenciIds);
    $operacja->save();

    return redirect('leczenie');
}

这是我的表格

<div class="form-group">
<div  class="col-md-4 control-label">
    {!! Form::label('PacjentList','Wybierz pacjenta:') !!}
</div>
<div class="col-md-6">
    {!! Form::select('PacjentList[]', $listapacjentow); !!}
</div>

当我返回$ operacja时一切正常,但我无法将其保存到数据库

2 个答案:

答案 0 :(得分:0)

如果您只想将一个用户与Operacja相关联,请执行以下操作:

{!! Form::select('user_id', $listapacjentow); !!}

$operacja = Operacja::create($request->all());

如果您要向Operacja添加许多用户,则需要恢复一对多关系,因此Useroperacja_idOperacja不会有user_id

如果您想让Operacja拥有多个用户且用户可能拥有多个Operacja,请使用多对多关系。

答案 1 :(得分:0)

store方法中尝试使用此approch。

$operacja = new Operacja($request->all());
$operacja->user_id = $request->input('PacjentList.0');
$operacja->save();
$operacja->user()->saveMany($patients);