Когда вам нужно целиком получить родственную модель, используйте $author->post, когда нужно получить эту же модель/коллекцию моделей, удовлетворяющую каким-либо условиям (where, limit, order by, получение только некоторых колонок из таблицы и т.д.), используйте $author->post()->where('foo', 'bar')->limit(5)->get(['foo', 'bar', 'baz']);
Для получения заголовков автора: $author->post()->get(['post_title']). Во втором случае вы можете использовате дальше where, но это будет уже вызов метода коллекции. То есть запрос к бд отправится без where, а where отфильтрует данные уже на стороне php.
JhaoDa: а иначе он выдаст ошибку, да?
А вы не знаете какой-нибудь удобный пакет для такой валидации? Что-то вроде такого:
'field' => 'required|type_varchar'
Хотелось бы, чтобы такое правило было не захардкодено для конкретной базы данных, а было чуть умнее. Когда используется mysql, брался размер поля varchar в mysql, когда - postgres, размер поля varchar в postgres (предположим, что он не 255 байт).
Также хотелось бы, чтобы учитывался размер utf-8 символов.
Я сам пользуюсь vimium, но он не эмулирует vim в режиме ввода текста. Попробовал Text Editor Anywhere, работает! Спасибо большое! Это даже лучше, чем я хотел.