Ошибка связи, когда внешний ключ равен нулю в Laravel Vue. Js - PullRequest
0 голосов
/ 03 марта 2020

Это моя функция newproject

public function user()
    {
        return $this->hasOne(User::class,'id' , 'user_id');
    }

Это моя функция пользователя

public function newproject()
    {
        return $this->belongsTo(Newproject::class,'user_id','id');
    }

Это мой контроллер

public function show($id)
    {
        $newproject = Newproject::findOrFail($id);  
        $data=[
            Newproject::with('User')->find($id)
        ];
        return $data;
    }

my vue

    <tr v-for="show in detail" :key="show.id">

        <td>{{show.id}}</td>
        <td>{{show.user.name}}</td>
    </tr>

почему, когда внешний ключ равен нулю, он всегда получает ошибку, подобную этой

[Vue warn]: Error in render: "TypeError: Cannot read property 'id' of null"

found in

---> <Projectwork> at resources/js/components/projectwork.vue
       <Root>

, пожалуйста, помогите спасибо.

1 Ответ

0 голосов
/ 03 марта 2020

Я думаю, вы должны поместить unsigned () в схему как эта форма

  public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->integer('role_id')->index()->unsigned()->nullable();
            $table->rememberToken();
            $table->timestamps();
        });
    }

, и вы можете проверить do c ниже для получения дополнительной информации

https://laravel.com/docs/5.8/migrations

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...