@truevolkolak

Как в Laravel использовать строку в качетсве аргумента отношения/поля из таблицы БД?

Доброго дня!

Есть объект $product, у которого в БД есть такие поля, как 'scu', 'price' и прочие. Есть массив с некоторыми этими полями $titles = ['scu', 'price', 'product', 'slug', ...];

Можно ли как-то получать значение этих полей из БД для конкретного товара, подставляя значения указанного массива, как если бы я делал $product->scu? То есть типа $product->$titles[0]. Такая сложность, потому что в зависимости от сложных условий нужно получить только определенные данные для товара и было бы здорово реализовать извлечение нужных данных, подставив элемент массива в отношение. Можно сделать через switch case, но этот вариант оставил запасным.

Спасибо! Надеюсь, понятно объяснил костыль)
  • Вопрос задан
  • 32 просмотра
Пригласить эксперта
Ответы на вопрос 1
@rst630
выше вам уже ответили, но вы говорите про отношения, возможно вы получаете продукт через отношения, тогда допустим имея модель Category у которой есть Relation products
$category->products()->select($titles)->get() - обратите внимание на () после products - это важно т.к. мы вызываем именно функцию
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы