2016-09-27 6 views
1

Я просто хочу, чтобы выбрать все поля, за исключением одного поля в CakePHP 3.Выбрать все, кроме одного поля в CakePHP 3 запроса

Ex. $this->select('fname', 'lname', 'mname', 'email', 'password', 'status', 'created', 'modified'); 

Здесь я хочу, чтобы выбрать все поля, за исключением создания и модификации, потому что моя другая таблица имеет ок 30, и я хочу выбрать 28 полей и не хочу упоминать каждое поле в функции выбора, потому что это занимает много времени.

Не могли бы вы предложить лучший способ.

ответ

2

Вы можете просто найти все, а затем во время выполнения скрывать, что вам не нужно

$model->hiddenProperties(['modified', 'created']); 
+0

** Спасибо ** @Alex. –

3

Вы можете получить все возможные столбцы из схемы удалить те, которые вы не хотите включать в себя, например:

$query->select(
    array_diff($Table->schema()->columns(), ['modified', 'created']); 
); 

на соответствующую записку, проверьте следующий вопрос, который просит функциональность смешивани:

https://github.com/cakephp/cakephp/issues/6904

+0

** Спасибо ** @ndm –

Смежные вопросы