laravel не могу отправить имя пользователя в связанных продуктах - PullRequest
0 голосов
/ 31 марта 2020

я использую этот код, но я не могу отправить имя пользователя в связанных продуктах, я использую этот код

  Creator: {{$product->users->name ?? ''}}

я не могу показать создателя продуктов для productcontroller Я использую это:

public function index(){
        $products = Product::with(['users'])->get();
        return view('products.index', compact('products'));}

и для модели продукта

public function users()
    {
        return $this->belongsTo(User::class);
    }

и для пользователя модели

public function products()
    {
        return $this->hasMany(Product::class);
    }

и таблицы

Schema::create('products', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->unsignedInteger('user_id');
            $table->text('description');
            $table->integer('weight');
            $table->integer('price');
            $table->timestamps();
        });

эту ошибку см.

Попытка получить свойство «имя» необъекта (Вид:

1 Ответ

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

Вам необходимо установить внешний ключ в вашей миграции:

Schema::create('products', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->unsignedInteger('user_id'); $table->foreign('user_id')->references('id')->on('users'); // <- HERE $table->text('description'); $table->integer('weight'); $table->integer('price'); $table->timestamps(); });

И ваше отношение должно называться user ( Singular ), а не users

...