Владимир Бабусенко

Владимир Бабусенко

С нами с 11 ноября 2014; Место в рейтинге пользователей: #206
Владимир Бабусенко
22 марта 2016, 14:53
0
В общем, выборку оставил через $modx->getCollection('modResource', $q);
А генерацию через $pdo = $modx->getService('pdoFetch'); $pdo->getChunk
Разница по времени не сумашедшая конечно, но есть.
Владимир Бабусенко
22 марта 2016, 14:39
0
А так, кидает на главную страницу. В журнале ошибок нет.
Владимир Бабусенко
22 марта 2016, 14:32
0
подскажите еще как передать свой запрос в pdo. Делаю так (запрос без xpdo):
sql = «SELECT .....»
$q = new xPDOCriteria($modx, $sql);

$pdo = $modx->getService('pdoFetch');
$rows = $pdo->getCollection('modResource', $q);
foreach ($rows as $row) {
print_r($row->toArray());
}
Но дает 500 ошибку.

при этом если
foreach ($rows as $row) {
echo $row;
}
пишит что ArrayArrayArrayArray…
Владимир Бабусенко
14 марта 2016, 16:18
0
Схему лучше приложу (сокращеную)
<object class="TechnicalSolutions" table="mstr_solution" extends="xPDOSimpleObject">        
	<composite alias="DataFilesSolution" local="id" class="DataFilesSolution" foreign="solution_id" cardinality="many" owner="local" />        
</object>

<object class="DataFilesSolution" table="mstr_solution_data_files" extends="xPDOSimpleObject">
	<field key="solution_id" dbtype="int" precision="10" phptype="integer" null="false" />            

	<aggregate alias="SolutionDataFiles" class="TechnicalSolutions" local="solution_id" foreign="id" cardinality="one" owner="foreign" />
	<composite alias="DownloadFileSolution" local="id" class="DownloadFileSolution" foreign="file_id" cardinality="many" owner="local" />
</object>

<object class="DownloadFileSolution" table="mstr_solution_data_files_download" extends="xPDOSimpleObject">
	<field key="file_id" dbtype="int" precision="10" phptype="integer" null="false" />

	<aggregate alias="FileSolutionDownload" class="DataFilesSolution" local="file_id" foreign="id" cardinality="one" owner="foreign" />
</object>
Владимир Бабусенко
19 февраля 2016, 14:05
+1
Спасибо Сергей, ваш вариант тоже думаю вполне рабочий и проще, чем то что я хотел сделать. Но Павел Романов предложил вообще вариант одной строчкой заложенной Василием в логику pdoMenu.
ЗЫ: Как чувствовал, что усложняю, то что проще можно сделать, не зря решил написать...)
Владимир Бабусенко
19 февраля 2016, 14:01
+1
Павел благодарю, то что нужно, куда мои глаза смотрели.....) Только разве не достаточно указать?
&hideSubMenus = `1`
При таком варианте отображается как надо… уже проверил
Владимир Бабусенко
18 февраля 2016, 15:02
0
Так выведутся все объкты
foreach($pages as $doc => $id){
    var_dump ($doc);
}
Пиши лучше так с var_dump или c print_r:
foreach($pages as $doc){
    var_dump ($doc->toArray());
}
Доступ к полю получишь через $doc->get('field');

ЗЫ: А так Сергей правильно написал, посмотри, может у тебя ничего не находит, соответственно и выводить нечего.
Владимир Бабусенко
18 февраля 2016, 11:52
+1
Как я понимаю, ваш подставленный класс не загружен. Повторюсь еще раз моя модель загружен в extentionPackage.
И при запросе через $modx->newQuery() работает. Вы же не станете утверждать что модель не загружена?
Владимир Бабусенко
18 февраля 2016, 11:42
0
Update. Взял ваш код и подставил свой класс и получил ожидаемую ошибку
Could not load class: oneBookingObjects from mysql.onebookingobjects.

Я не совсем зеленый. Конечно будет ошибка, если вы мой код и модель возмете (ее то у вас нету). Вы проверьте на системной модели, или на какой либо своей загруженной модели.
Владимир Бабусенко
18 февраля 2016, 11:39
0
Я не первый год замужем, с модексом достаточно давно работаю. Модели загружены.
Владимир Бабусенко
18 февраля 2016, 11:06
+1
Спасибо, в вопросе я писал что при таком варианте ошибки нет, меня интересовала выборка объектом xPDO, а не PDO.
Владимир Бабусенко
18 февраля 2016, 11:02
0
Все банально оказалось, смотрите ответ Василия. Вы можете сами попробовать например выбрать из таблицы `modx_site_content` выбрать какое либо поле, какого либо ресурса, без указания в выборке поля id, будет 502 ошибка.
Владимир Бабусенко
18 февраля 2016, 10:59
0
Василий как всегда прав. Это видимо особенность xPDO. Уже вчера (вернее сегодня ночью) дошел до этого «методом тыка».
ЗЫ: Хотя странное поведение, как я понимаю при таком запросе даже если мы перечисляем поля, возметься объект полностью со всеми полями.
Владимир Бабусенко
03 февраля 2016, 14:45
0
Это Глебу надо...., лучше ему ответить, так придет ему письмо об ответе.
Владимир Бабусенко
03 февраля 2016, 14:09
0
Сорри, без понятия. Еще не сталкивался с fenom, времени небыло. Может кто знает ответит.
Владимир Бабусенко
02 февраля 2016, 23:32
0
Попробуй некэширумо вызывать pdoMenu