Laravel Eloquent Relation Колонка не найдена - PullRequest
0 голосов
/ 09 ноября 2019

У меня есть две модели в Пользователе Laravel, и у Заказчика может быть много заказов, а у Заказа может быть только один пользователь.

Я определил отношение один ко многим, но при выполнении этого запроса я получаю неизвестную ошибку столбца:

App\Order::find(1)->users;

I'm Using Laravel Последняя версия.

//This is Order Model

class Order extends Model
{

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


class User extends Authenticatable
{
  public function Order()
    {
        return $this->hasMany(Order::class);
    } 
}

Ответы [ 3 ]

0 голосов
/ 09 ноября 2019

каждый заказ принадлежит одному пользователю, добавьте его в модель заказа:

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

и получите пользователей:

    App\Order::find(1)->users()->get()
0 голосов
/ 09 ноября 2019

Для отношения Один-ко-многим в laravel вы должны определить отношение с обеих сторон следующим образом:

Модель пользователя

class User Model
{
  public function orders()
  {
    return $this->hasMany(Order::class);
  } 
}

И теперь мы должныопределите обратное для вышеуказанного соотношения следующим образом:

Модель заказа

class Order extends Model
{

 public function user()
  {
    return $this->belongsTo(User::class);
  }
}
0 голосов
/ 09 ноября 2019

Попробуйте добавить скобки:

App\Order::find(1)->users()->get()

Это должно исправить вашу ошибку.

...