Encoderast
@Encoderast
frontend пытается что-то делать в backend

Yii2 вывод информации из БД?

Валар Моргулис!

Не могу вывести информацию из БД, выручайте

Контроллер

class AboutController extends AppController
{
    public function actionView()
    {
        $about = About::find()->where('id' >= 1)->limit(6)->all();
        return $this->render('view', compact('about'));
    }
}


Модель

class About extends ActiveRecord{

    public function behaviors()
    {
        return [
            'image' => [
                'class' => 'rico\yii2images\behaviors\ImageBehave',
            ]
        ];
    }

    public static function tableName(){
        return 'about';
    }

    public function About(){
        return $this->hasMany(About::className(), 'id' >= '1');
    }

}


Вид

<?= $about->name?>


Вывожу из БД информацию о компании (не знал как сделать, поэтому сделал по ID)
БД (жмяк)

912f47b277b840a39eb7c48227696714.PNG


Прошу подредактировать код, чтоб мог вывести информацию (все 3 id). На данный момент ничего не выводит
  • Вопрос задан
  • 843 просмотра
Решения вопроса 1
@AlexndrNovikov
Solution Architect in Spiral Scout
В контроллере

return $this->render('view', [
    'about' => About::find()->where(['>=', 'id', 1])->limit(6)->all(); // <= where другой
]);


В модели надо вообще удалить функцию About, так как она может быть вызвана как конструктор в более старых версиях PHP. К тому же
'id' >= '1'
все равно не отработает, так как оно вычисляется как true, а не используется для фитрации в запросе

В виде в $about будет массив, так как в контроллере ищется именно массив через ->all();

Дока
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы