Нетерпеливая загрузка не работает laravel 5.3

У меня есть три родственные модели. 1.Модель пользователя

public function users_wishlst(){
        return $this->hasMany('App\Users_wishlst');
    }

2. Модель продукта

public function users_wishlst(){
        return $this->belongsTo('App\Users_wishlst');
    }

3.Модель Users_wishlst

public function user(){
        return $this->belongsTo('App\User');
    }

    public function product(){
        return $this->hasMany('App\Product');
    }

в таблице users_wishlsts у меня есть следующие столбцы

  1. id
  2. ID пользователя
  3. идантификационный номер продукта

Я хочу получить информацию о продукте из списка пожеланий пользователей. я пробовал это

public function showWishList(){
        $id= Auth::id();
        $WishList = wishlist::with('product')->where(['user_id'=>$id])->get();
        return json_encode($WishList);
    }

Но это дает мне следующую ошибку

SQLSTATE [42S22]: столбец не найден: 1054 Неизвестный столбец «products.users_wishlst_id» в «предложении where» (SQL: выберите * из products, где products.users_wishlst_id в (1, 2, 3)) в чем проблема


person Mutasim Fuad    schedule 14.04.2017    source источник


Ответы (1)


Не зная всего о структуре вашей базы данных, это похоже на проблему с вашими внешними ключами. Eloquent пытается автоматически угадать ключ. Судя по ошибке, кажется, что ваша таблица продуктов не содержит столбца users_wishlst_id (может быть, вы назвали его по-другому?). Попробуйте заглянуть в свою базу данных и дать Laravel правильный внешний_ключ.

https://laravel.com/docs/5.3/eloquent-relationships#one-to-many

person ExCluSiv3    schedule 16.04.2017
comment
Да, твоя догадка верна. Таблица продуктов не содержит столбца users_wishlst_id. Мои отношения могут быть неправильными. Я хочу создать список желаний для пользователей. Для этого я создал таблицу с именем users_wishlists, в которой будут сохранены идентификатор пользователя и идентификатор продукта. Можете ли вы помочь мне с отношениями или как это сделать, используя красноречивый - person Mutasim Fuad; 16.04.2017
comment
В этом случае это больше похоже на отношение «многие ко многим», в котором ваша таблица users_wishlists будет сводной таблицей между пользователями и продуктами. laravel.com/docs/5.3/eloquent-relationships#many-to-many много . - person ExCluSiv3; 16.04.2017