@yii16

Как выбрать данные из БД Yii2?

Адрес:
'rules' => [
                'jobdb' => 'job/jobdb',
            ],

Метод в контроллере:
public function actionJobdb()
    {
        $array = JobList::getAll();
        return $this->render('joblist',['varInView' => $array]);
    }

Потом по мануалу я создал модельку JobList.php в models и т.д., но ошибка:
Class 'frontend\controllers\JobList' not found

И показывает строку с ошибкой:
$array = JobList::getAll();
Так а почему он класс JobList ищет в контроллере а в не в модели? Его надо в контроллер помещать? Что там писать и что тогда в модели оставлять?

P.S. Сейчас в модели так:
class JobList extends Model
{
    public static function tableName(){
        return 'tags'; // Имя таблицы в БД
    }

    public static function getAll(){
        $data = self::find()->all();
        return $data;
    }
}
  • Вопрос задан
  • 80 просмотров
Решения вопроса 2
qonand
@qonand
Software Engineer
Проблема в том что модель находить в своем пространстве, контроллер в своем. Разберитесь с тем как работают пространства имен и не будет в дальнейшем возникать подобных проблем и вопросов по ним
Ответ написан
Decadal
@Decadal
1) Вы не подключили класс JobList через use. После создания модельки нужно написать ей namespace frontend\models; в контроллере же вверху написать use frontend\models\JobList;

2) у вас не получится использовать модель для выборки данных из таблицы. Чтобы сделать выборку, вам понадобится специальный вид моделей - ActiveRecord.

Поработайте тщательнее над этим вопросом. В мануалах действительно описано всё, что нужно для решения вашей проблемы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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