Обычно обратная ситуация возникает, нужно вместо поля таблицы значение. В этом случае я оборачиваю значение в DB::raw(), а что нужно сделать, чтоб он воспринял строку как название таблицы?
Дмитрий Энтелис: В вопросе я схему запроса показал. Posts - это новости. В проекте запрос сложнее и через ORM, но тормозит именно сортировка по left join.
К сожалению, не работает. Call to a member function search() on null.
Я правильно понимаю, что если не делать бинд, то инжект доступен только в конструкторе?
То есть как вариант в конструкторе присваивать свойствам нужные объекты.
protected $elastic;
public function __construct(\App\Elastic\Elastic $elastic)
{
$this->elastic = $elastic;
}
И такой код у меня работает.
А если биндить в AppServiceProvider, то класс \App\Elastic\Elastic можно инжектить в любой методе любого контроллера?
А вот вопрос такой, допустим у меня есть продукты на сайте, для них нужно добавлять картинки, тянуть какую-то информацию из какого-то апи.
Я решил эту логику в сервисы вынести. Мне нужно на 2 эти операции 2 сервиса или можно 1 сервис и 2 метода?
Почему-то везде в примерах сервисы на одну операцию и называются соответственно, например "CreateCouponService", вместо того чтоб называться "CouponService" и иметь методы create, update и тп.
Это так принято? В чем плюсы такого подхода?
Станислав Почепко: Для авторизации я использую OAuth библиотеку. Дли постинга в твиттер я использую другую. И там и там нужно указывать client_id, поэтому я хотел вынести client_id в services.php а в остальных местах использовать config('services.twitter.client_id'). .env опять же неудобен тем, что нужно будет шарить всем разработчикам
Станислав Почепко А как в одном файле конфига получить конфиг из другого файла? В папке config у меня есть файл oauth.php, где я пытаюсь получить данные из файла services.php. В итоге получаю ошибку, а если получаю где-нибудь в контроллере, то данные выводятся.
Станислав Почепко: Не понимаю, зачем services.php? Я в config/app.php добавил 'twitter_key' => 'xxx'. Теперь в контроллере обращаюсь к нему через config('app.twitter_key'). Это неправильно?