Translation file [/home/basa/site.com/resources/lang/ru.json] contains an invalid JSON structure.
check that column/key exists
public function showCar(Car $car, $id = null)
[
'message' => 'required|max:1000',
'img' => 'mimes:jpeg,png,gif|max:3000',
]
select * from `books_categories` where `parent_id` = '0'
select * from `books_categories` where `books_categories`.`parent_id` in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
1. В каком слое принято обрабатывать такие ситуации?Зависит от логики приложения, однозначного ответа нет.
2. Каким кэтчем отлавливать бОльшую часть исключений? Стоит ли использовать \Exception?\Throwable отловит всё. Хорошая ли это идея - спорный вопрос, однозначного ответа нет.
3. Стоит ли делать так:Если есть реальные веские причины, то стоит. Нет - нет. В вашем вопросе причин таких не наблюдается.
Я думал, фреймворк как-то из коробки умеет такие ситуации обрабатывать.Умеет.
условие @if влияет только на то, виден html или нет.Вы неправы.
@if($post->images->isNotEmpty())
$post->images()->first()->path
А вот здесь вы делаете лишний запрос в БД. Должно быть так: $post->images->first()->path
трех разнородных сущностей, требующих единого идентификатора для авторизации?Если вам действительно нужен единый сквозной идентификатор, то проще всего использовать одну таблицу регистраций + N таблиц профилей (по одной для каждого типа).
Как устранять потенциальные дубли и делать выборку по трем таблицам.Это сильно зависит от логики и требований приложения.
я про то что данные передаются через конструктор . Ведь можно просто в самом коде их определить того же файлаВ конструктор в данном случае передаются на данные, а объект, который будет строить запросы. Это же класс репозитория - он инкапсулирует запросы к БД, но пользуется при этом моделями Eloquent.
class PortfoliosRepository extends Repository {
public function __construct(Portfolio $portfolio) {
$this->model = $portfolio;
}
// Этот метод, скорее всего, есть в базовом классе
public function find(int $id): ?Portfolio
{
return $this->model->find($id);
}
// А это пример инкапсуляции сложной логики
public function featured(): Collection
{
return $this->model
->with(['some', 'relations'])
->where('field', 'value')
->orWhere('other_field', 'value')
->orderBy('created_at')
->limit(42)
->get()
->each
->append('mutated_attribute');
}
}
$repository = new PortfoliosRepository(
new Portfolio // <- не какое-то существующее портфолио из БД, а "пустой" объект
);
$repository->featured();