Я хочу оптимизировать скорость моего веб-сайта и получить все данные, включая данные реляционных (выбрать) полей в одном запросе. Как это сделать?Как получить данные реляционных полей в одном запросе
Ниже мои выводы до сих пор:
я заметил, что при выполнении $pod->field('relational_field');
дополнительный запрос будет работать.
Предполагая, стручок с полем имя и поле в категории которое реляционная (выбрать):
// This code below will behave unexpected
$pod = pods('pod', array(
'where' => array(...),
'select' => array('t.name', 'category.name AS category_name')
));
Предполагая, что вы создали один отдельный элемент Pod связан с двумя категориями , вы получите два результата:, из-за категории.name AS category_name в опции выбора. Если у вас есть одна категория, назначенная на pod, вы получите один результат.
Результат выглядит следующим образом:
array (size=2)
0 =>
object(stdClass)[2928]
public 'name' => string 'My pod 1' (length=8)
public 'category' => string 'Category 1' (length=10)
1 =>
object(stdClass)[2929]
public 'name' => string 'My pod 1' (length=8)
public 'category' => string 'Category 2' (length=10) // <-- The difference is only in category
То, что я действительно хочу это данные двух категорий в этом ключе «категории», как массив. Это возможно?
(первоначально размещен на Pods.io)
Существует подробный пример того, как здесь использовать параметры SELECT в точках Pods: https://github.com/pods-framework/pods-code-library/blob/master/example/classes/Pods/find/examples /multi-relationship-optimization.php – JPollock
Привет @JPollock, спасибо, но это именно то, что я делаю, я получаю неожиданный результат, как вы видите. Это ошибка? Тогда я открою вопрос о Github, если вы захотите. – DelphiLynx
Да, пожалуйста, откройте проблему. Если это ошибка, то она принадлежит GitHub не SO. Лучшим местом BTW для получения поддержки Pods является Pods Slack. Pods.io/chat – JPollock