Сохранение идентификатора пользователя из таблицы пользователя и ошибка: вызов функции-члена save () в строке - PullRequest
0 голосов
/ 20 ноября 2018

Я пытался сохранить идентификатор пользователя из таблицы пользователя в другой машине в качестве внешнего ключа.Таблица пользователей:

    public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('userid')->unique();
        $table->string('email')->unique();
        $table->timestamp('email_verified_at')->nullable();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });
}

Таблица автомобилей:

    public function up()
{
    Schema::create('cars', function (Blueprint $table) {
        $table->string('plateno')->primary()->unique();
        $table->string('brand');
        $table->string('model');

        $table->string('user_id')->nullable();
        $table->foreign('user_id')->references('userid')->on('users')->onDelete('cascade')->onUpdate('cascade');

        $table->timestamps();
    });
}

Модель пользователя и модель автомобиля имеют отношение 1 к 1.

class User extends Authenticatable

{use Notifiable;

 protected $fillable = [
    'userid', 'email', 'password',
];

protected $hidden = [
    'password', 'remember_token',
];

public function cars() 
{ 
    return $this->hasOne('App\Car', 'plateno' ); 
}

}

и вот функция хранения для CarController

    public function store(Request $request)
{
    $this->validate($request, [
        'plateno' => 'required',
        'brand' => 'required',
        'model' => 'required'
    ]);

    $cars= new \App\Car;
    $cars->plateno=$request->get('plateno');
    $cars->brand=$request->get('brand');
    $cars->model=$request->get('model');

    $cars=Auth::user()->userid;
    $cars->save();
    return redirect('car')->with('success', 'User car has been added.');
}

спасибо.

1 Ответ

0 голосов
/ 20 ноября 2018

Здесь у вас есть ошибка:

$cars= new \App\Car;
$cars->plateno=$request->get('plateno');
$cars->brand=$request->get('brand');
$cars->model=$request->get('model');

$cars=Auth::user()->userid; // Here must be $cars->user_id = Auth::user()->userid;
$cars->save();

Заменить $cars=Auth::user()->userid; на $cars->user_id = Auth::user()->userId;;

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