首页 > 解决方案 > Laravel 创建未定义的索引

问题描述

我正在尝试编辑用户,但“未定义的索引”正在返回。我正在使用这个当前脚本来编辑地址信息并将其与用户相关联。

 public function getIndexEditClient(Request $request, $id) {
    $regions = DB::table("regions")->pluck("name","id");
    $address = Address::where('id', $request->address_id)->with('region')->first();
    $clients = $this->data->getEditClient($id);

    //als gebruiker geen address heeft, creeer deze en koppel hem aan user
    if (!isset($address)){
        $data = $request->input();

        $address = Address::create([
            'region'        => $data['region'],
            'country'       => $data['country'],
            'city'          => $data['city'],
            'street_name'   => $data['street_name'],
            'house_number'  => $data['house_number'],
            'postcode'      => $data['postcode']
        ]);

         //create associate user with address
        $clients->address()->associate($address);
        $address = new Address;
        $address->this->save();

其他工作正常。

这是我的编辑表格:

** <h3>Address information</h3>                     
            <div class="row">
                <div class="col-md-4">
                    <div class="form-group">
                        <label>Region</label>
                        <select id="region" name="region" class="form-control">
                        <option value="{{$address['region => id']}}" selected>{{$address['region => name']}}</option>
                            @foreach($regions as $key => $region)
                            <option value="{{$key}}"> {{$region}}</option>
                            @endforeach
                        </select>
                    </div>
                </div>
                        <div class="col-md-4">
                            <div class="form-group">
                                <label>Country</label>
                                <select name="country" id="country" class="form-control">
                                </select>
                            </div>
                        </div>

等等等等

** 我添加地址的方式有错吗?提前致谢。

标签: phplaravelformsedit

解决方案


您想保存一个数组,同时您正在保存一个对象,最好使用这种格式。所以改变你想保存地址的方式

$data = new Address();            
$data->region=$request->region;
$data->country=$request->country;
$data->city=$request->city;
  ...
 $data->save();

$address = Address::create([
'region'        => $data['region'],
'country'       => $data['country'],
 'city'          => $data['city'],
'street_name'   => $data['street_name'],
'house_number'  => $data['house_number'],
'postcode'      => $data['postcode']
]);

推荐阅读