Найти список в cakephp - PullRequest
       3

Найти список в cakephp

0 голосов
/ 13 октября 2010

Помогло бы recursive=-1 в случае find("list") в cakephp. Я имею в виду любой выигрыш в производительности

Ответы [ 3 ]

1 голос
/ 15 октября 2010

По умолчанию

$this->Post->find('list'); 

CakePHP сделает этот запрос:

SELECT `Post`.`id`, `Post`.`name` FROM `posts` AS `Post` WHERE 1 = 1

Нет рекурсивного запроса, поэтому изменение этой команды не улучшит запрос

1 голос
/ 12 февраля 2016

Нет, рекурсивный = -1 не поможет в случае $ this-> Model-> find ('list').

Если вы хотите найти ('all') или найти ('first'), то он будет более полно использован.

например. Пользователь, VatInfo, VatInfoLog - это три модели, тогда

1) рекурсивный = -1

$ this-> VatInfo-> найти ( 'все') Будет возвращать только данные таблицы VatInfo.

2) рекурсивный = 0

$ this-> VatInfo-> найти ( 'все') Вернет данные из таблиц User и VatInfo 2 для пользователя.

3) рекурсивный = 1

$ this-> VatInfo-> найти ( 'все') Возвращает данные о пользователях, принадлежащих пользователю, $ hasMany VatInfoLog и VatInfo 3.

0 голосов
/ 13 октября 2010

Попробуйте!

В режиме отладки Cake показывает время выполнения каждого запроса.Попробуйте оба способа и посмотрите, что изменится.Я предполагаю, что нет, поскольку в любом случае он получает данные только из одной таблицы для list запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...