Я пытаюсь написать scope, и мне нужно знать, добавили ли какие-либо из предыдущих областей какие-либо -> выберите() информацию раньше, а если нет, добавьте ее (которая стирает предыдущие вещи).Laravel 5 Eloquent - как получить столбцы областей
Область получает объект $ запроса, который является \ Осветите \ Database \ Query \ Builder (согласно документации в любом случае)
Если я смотрю в Builder.php я вижу свойство $ столбцов, который используется для хранения столбцы для выборки
/**
* The columns that should be returned.
*
* @var array
*/
public $columns;
Однако в моей компетенции, если я пытаюсь получить к нему доступ с помощью
$query->columns
Я получаю сообщение об ошибке, говорящее:
PHP error: Undefined property: Illuminate\Database\Eloquent\Builder::$columns
Как вы можете видеть, происходит какое-то волшебство, и он смотрит на Eloquent \ Builder, а не на Database \ Query \ Builder.
Я, вероятно, отсутствует что-то простое здесь, может быть, нужно больше кофе снова ... Все указатели приветствуются
Благодаря
PS. Я знаю, что могу использовать addSelect(), но я хотел бы знать, почему я не могу получить доступ к переменной «столбцы» еще ...
Это необычная модель, к которой вы обращаетесь не к Query Builder. Чего вы пытаетесь достичь именно? –
Нет, это не модель, область получает конструктор запросов. См. Красноречивое руководство. Страница связана с вопросом. Нажмите на область действия, которая имеет ссылку. –