@idaho

Yii2 выборка данных с FindBySql?

Привет
Задача, выбрать партнеров из БД
проблема в следующем
судя по скрину не передается ID Для запроса в БД.

8d97159045f446a2a8bc19dd94118324.png

в моделе:
public function getPartners(){

$sql = 'SELECT dam as partner_id FROM pedigrees WHERE (sire=id and dam<>0) group by dam union SELECT sire as partner_id FROM pedigrees WHERE (dam=id and sire<>0) group by sire order by (select name from pedigrees a where id=partner_id)'; 
        $partner = Pedigrees::findBySql($sql)->all();
        return $partner;
           
        }


вывод во вью:
<?php $partner = $model->getPartners();
            
foreach($partner as $partn) {
    echo Html::a( Html::encode($partn->name, $partn->id), Url::to(['pedigrees/view', 'id' => $partn->id])) . '<br>';
}
    ?>
  • Вопрос задан
  • 793 просмотра
Решения вопроса 1
@davidnum95
public function getPartners(){

$sql = 'SELECT dam as partner_id FROM pedigrees WHERE (sire=:id and dam<>0) group by dam union SELECT sire as partner_id FROM pedigrees WHERE (dam=:id and sire<>0) group by sire order by (select name from pedigrees a where id=:partner_id)'; 
$partner = Pedigrees::findBySql($sql, [':id' => $id, 'partner_id' => $partner_id])->all();
return $partner;
 }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Видимо это новая модель. И скорее всего решение такое:
if(!$model->isNewRecord){
//тут ваша логика, тут точно есть id
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы