В прошлом году время от времени работал с фреймворком Laravel. Писал API для одного некоммерческого проекта, перевел на него (с голого PHP) один коммерческий. Понравилось, даже статейку небольшую написал. Однажды, в какой-то из новостных лент по теме, попалось упоминание October CMS. В упоминании говорилось, что у этой CMS под капотом как раз самый настоящий Laravel и есть, версии 5.0. Немедленно захотелось посмотреть, и вот на днях — удалось поставить, поиграться и даже написать пару небольших плагинов. Делюсь впечатлениями.
Laravel
Laravel: загружаем последнюю дочернюю модель для каждого родителя
Допустим, у нас есть модель Фотоальбом, и мы для списка альбомов хотим загрузить (eager load) превью каждого в виде последней фотографии. Казалось бы, это можно сделать так:
$albums = Album::with(['photos' => function ($query) {
$query->take(1);
}])->get();
Однако такой запрос прикрепит одну фотографию лишь к одному альбому, а к остальным — нет. Тот же эффект будет, если вместо
take(1)
latest()
Чтобы добиться желаемого результата, нужно в модели альбома объявить еще одно отношение:
public function latestPhoto() {
return $this->hasOne('Photo')->latest();
}
Тогда вот такой запрос:
$albums = Album::with('latestPhoto')->get();
позволит нам получить то, что нужно.
Регистрация по инвайтам в Laravel 5
Уже достаточно давно в свободное время внедряю в рабочие процессы фреймворк Laravel 5. Свободного времени обычно очень мало, но дело потихонечку движется. В данной заметке я покажу, как на этом самом Laravel 5 реализовать систему регистрации через инвайты (сиречь приглашения). То есть, когда с инвайтом регистрироваться можно, а без инвайта — нельзя.
Laravel и AngularJS
Изучаю всякое про прогрессивные технологии. Нашел вот туториал, не сохранить невозможно — хорошо и доходчиво излагает человек.
Create a Laravel and Angular Single Page Comment Application

