О нас
Разработчикам
Заметки
Переводчик
Транслитератор
Сравнить текст
Генератор пароля
Ip и информация
Декодировать JSON
Локация
О нас
Разработчикам
Заметки
Переводчик
Транслитератор
Сравнить текст
Генератор пароля
Ip и информация
Декодировать JSON
Локация
Laravel model
us.content
// В теле класса модели: protected $table = 'pages'; // В классе переопределить название таблицы (правило по-умолчанию, MVC - в единственном числе название, в БД - во множественном) protected $primaryKey = 'id'; // Правило по-умолчанию это id, если нет, то написать какое поле public $incrementing = 'id'; // Правило по-умолчанию это id, если нет, то написать false public $timestamps = false; // Если не надо использовать поля created_at и updated_at protected $fillable = ['title', 'content']; // Разрешается редактирование этих полей, для метода Page::create(); protected $guarded = ['alias']; // Запрещается редактирование этих полей, для метода Page::create(); protected $casts = ['title' => 'boolean', 'text' => 'array']; // При этом поле title будет преобразовано из string в boolean, при использовании array будет автоматическая сериализация массива в строку и обратно // Сохранение в БД // $page = new Page(); // Создать экземпляр класс $page = app()->make('Page'); // В ларавел $page->title = 'More page'; $page->content = 'More content...'; $page->save(); // Сохранить страницу, указав связанного пользователя $user = User::find($id); $user->pages()->save(); // Обновение в БД $page = Page::find($id); $page->title = 'New page'; $page->content = 'New content...'; $page->save(); $values = Form::find($id); // Такой запрос, если используется связь, получить связанного пользователя $values->user_id // Связь в моделе Form public function user() { return $this->belongsTo(User::class); } /* Сохранить множество ->saveMany([ new Page(['title' = 'More page1', 'content' = 'More content...1']) new Page(['title' = 'More page2', 'content' = 'More content...2']) ]); ->update; Обновить данные в БД */ // Изменить id связанной записи (в таблице pages поменять user_id) $page = Page::find(2); $user = User::find(2); $page->user()->associate($user)->save; // Для связи многие ко многим $user = User::find(2); $role_id = Role::find(2)->id; $user->roles()->attach($role_id); // detach() чтобы удалить связь $user->roles()->sync([1,2,3]); // Можно так // Связи таблиц // Связь один к одному public function country() { return $this->hasOne(Country::class); // В моделе User добавить этот метод с название связующей модели } public function user() { return $this->belongsTo(User::class); // В связующей моделе добавить этот метод } // Связь один ко многим public function countries() { return $this->hasMany(Country::class); // В моделе User добавить этот метод с название связующей модели } // Многие ко многим public function roles() { return $this->belongsToMany(Role::class) // В моделе User добавить этот метод с название связующей модели ->withPivot('id', 'title') // Добавить колонки в pivot ->withTimestamps() // Добавить, чтобы записывать в БД created_at updated_at ->orderBy('sort'); // Сортировать по колонке sort } public function users() { return $this->belongsToMany(User::class, 'role_user', 'role_id', 'user_id'); // В связующей моделе добавить этот метод, при такой структуре таблиц это писать не нужно: 'role_user', 'role_id', 'user_id' }
Список