-1
Am выполнения запроса и я хотел бы получить соответствующие записи в sqldataProvider в yii2Получение связанных моделей в sqlDataProvider в yii2
Это то, что я попытался
$sql ="
SELECT
tblpritems.PRlineID
, tblpritems.Tracking_Code
, tblpritems.Description
, tblpritems.Quantity
, tblpritems.Unit_Price
, tblpritems.Extended_price
, tblpritems.PRID
, tblpritems.pr_solicitation_id
, tblpritems.date_item_received
, tblpritems.Quantity_received
, tblpritems.Remarks_on_receipt
, tblpritems.Received_by
FROM
prts.tblpritems
INNER JOIN prts.tblpr
ON (tblpritems.PRID = tblpr.PRID)
INNER JOIN prts.tblprsolicitations
ON (tblprsolicitations.PRID = tblpr.PRID) AND (tblpritems.pr_solicitation_id = tblprsolicitations.pr_solicitation_id)
INNER JOIN prts.tblprsuppliers
ON (tblprsuppliers.pr_solicitation_id = tblprsolicitations.pr_solicitation_id)
INNER JOIN prts.tblpo
ON (tblpo.pr_supplier_id = tblprsuppliers.pr_supplier_id)
where tblpr.PRID=".$val." and tblpo.PO_Status_ID=7 and item_received_status=0
";
$connection = Yii::$app->getDb();
$command = $connection->createCommand($sql);
$result = $command->queryAll();
$dataProvider = new SqlDataProvider([
'sql' => $sql,
'pagination' => [
'pageSize' => 10,
],
]);
Когда я выполняю
var_dump ($ dataProvider-> getModels()); возвращает все записи, но когда я пытаюсь
$data = $dataProvider->getModels();
foreach ($data as $dat) {
$data = $dat->getRelatedRecords();
var_dump($data);
}
Это всегда возвращает ошибку вызова функции члена getRelatedRecords() на массиве
Как я могу получить доступ к связанной записи
Что делает 'var_dump ($ data);' output? Массив? –
Да возвращает массив –
Вам не удастся получить доступ к отношениям модели, как если бы это был экземпляр ActiiveRecord, потому что $ data не является экземпляром ActiveRecord. Когда вы используете SqlDataProvider, $ dataProvider-> getModels() возвращает список массивов, а не список моделей. –