Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Суть вопроса примерно следующая...
Есть куча таблиц, включая таблицу с пользователями. В каждой таблице я хочу добавить поля: created_by и updated_by (т.е. кем создана запись и кем модифицирована). Эти два поля - это ссылки на id конкретного пользователя. Таблица с пользователями также должна иметь данные поля. Т.е. создали нового пользователя, соответственно записываем кто создал (или изменил).
Таким образом, обращаясь к свойству created_by (updated_by) я хочу получить объект "Пользователь", как для модели "Пользователь", так и для остальных моделей.
Например, ограничимся двумя моделями: User и Customer (организация). Пользователь может быть представителем только одного заказчика (организации), а организация может иметь много пользователей. Это классическая схема и с ее реализацией проблем нет:
class User extends Authenticatable
{
...
public function customer()
{
$this->belongsTo('App\Customer');
}
}
class Customer extends Model
{
public function users()
{
$this->hasMany('App\User');
}
}
А как реализовать соотношения для полей created_by (updated_by)?
Не в сети
Создаешь таблицу Customer и миграцию. В миграции создаешь необходимые поля и
$table->integer('created_by')->unsigned()->default(1);
$table->foreign('created_by')->references('id')->on('users');
Ну а дальше в моделях пишешь отношения
Не в сети
Страницы 1