Заполните таблицы Faker

Я изо всех сил пытаюсь понять, как использовать Faker с Yii2. Все вроде через консоль, в веб-приложении нельзя? Я хотел бы видеть сгенерированные данные на экране, а затем работать над вставкой этих данных в БД, как только я их усовершенствую. У меня есть много внешних ключей, которые я хочу убедиться, что они правильно связаны. Например, убедиться, что FK определенного города имеет правильный FK штата.

Я прошел и просмотрел тестовую часть в документах и ​​множество ссылок Google, но, похоже, это не то, что мне действительно нужно. Может я ошибаюсь? Я надеялся сделать что-то вроде этого: https://www.youtube.com/watch?v=sSDh1zfz-5s

Любая помощь приветствуется :-)


person Jonnny    schedule 24.12.2015    source источник


Ответы (1)


Если вы хотите использовать Faker в качестве веб-приложения, вы можете использовать FakerController в Yii, так как он настроен только для использования в качестве консольного приложения.

Чтобы использовать его в веб-приложении, просто настройте свой контроллер следующим образом.

<?php

namespace frontend\controllers;

use Yii;
use Faker;
use yii\web\Controller;
class SiteController extends Controller {
    public function actionIndex() {
        $faker = \Faker\Factory::create();
        $titles = $faker->name(20);
        return $this->render('index', ['titles' => $titles]);
    }
}

Затем вам нужно создать код для вставки данных в вашу базу данных, как это сделал парень в видео.

Кстати, я понятия не имел, что Faker существует, это сэкономит мне столько времени в моих проектах! Спасибо!

person Joe Miller    schedule 25.12.2015
comment
Я видел Faker в своих обновлениях для композиторов и тоже никогда не знал, что это такое. На самом деле я наткнулся на него не через Yii, но узнал, что это было в приложении Yii, поэтому я подумал, что посмотрю это видео, и подумал так же, как и вы, о времени, которое оно может сэкономить, особенно для несущей способности. Спасибо за этот ответ, у меня была такая проблема, пытаясь правильно определить пространство имен, я действительно думал, что это должно быть yii\faker, и это не сработает! Исправлено сейчас! - person Jonnny; 25.12.2015
comment
@Jonnny обычно, если вы посмотрите в файле композитора расширение, вы увидите раздел автозагрузки. Он сообщает вам, как они загружаются, и может использовать это в вашем выражении use. - person Joe Miller; 25.12.2015