Giter VIP home page Giter VIP logo

yform_seeder's Introduction

YForm Datenbank "Migration"/Seeder

Über die Addon-Einstellung lassen sich Templates mit einem Tabellen Namen für YForm Tabellen erstellen. Über diese Templates lassen sich YForm-Tabllen, deren Felder und Demo-Daten anlegen.

Demo-Daten können auch mit FakerPHP erstellt werden (im Addon enthalten). Für Datum und Uhrzeit kann Carbon genutzt werden.

Das Addon sollte nützlich sein, wenn man schnell einen YForm-Datensatz benötigt.

Die Templates werden im Data-Ordner des Addons erstellt und können dort angepasst werden. Danach können diese über die Einstellungen importiert werden.


Beispiel Template:

use Carbon\Carbon;
use YformSeeder\Table;
use YformSeeder\Seeder;

/**
    available value types:
    ($name, $label, $attributes = [])
    ---
    $seeder->beLink('name', 'Name');
    $seeder->beManagerRelation('name', 'Name');
    $seeder->beMedia('name', 'Name');
    $seeder->beTable('name', 'Name');
    $seeder->beUser('name', 'Name');
    $seeder->checkbox('name', 'Name');
    $seeder->choice('name', 'Name');
    $seeder->date('name', 'Name');
    $seeder->datestamp('name', 'Name');
    $seeder->dateTime('name', 'Name');
    $seeder->email('name', 'Name');
    $seeder->imagelist('name', 'Name');
    $seeder->integer('name', 'Name');
    $seeder->ip('name', 'Name');
    $seeder->number('name', 'Name');
    $seeder->prio('name', 'Name');
    $seeder->showvalue('name', 'Name');
    $seeder->text('name', 'Name');
    $seeder->textarea('name', 'Name');
    $seeder->time('name', 'Name');
    $seeder->upload('name', 'Name');
    $seeder->uuid('name', 'Name');
*/

/**
    available validate types:
    ($label, $attributes = [])
    ---
    $seeder->validateCompare('Name');
    $seeder->validateCompareValue('Name');
    $seeder->validateEmpty('Name');
    $seeder->validateIntFromTo('Name');
    $seeder->validatePasswordPolicy('Name');
    $seeder->validatePregMatch('Name');
    $seeder->validateSize('Name');
    $seeder->validateSizeRange('Name');
    $seeder->validateType('Name');
    $seeder->validateUnique('Name');
*/

$tableName = 'rex_blubb';
$tableLabel = 'Meine Demo Tabelle';

/** create table */
/** $tableName, $label/$name, $tableAttributes = [] */

Table::create($tableName, $tableLabel);


/** create value factory */
/** $tableName */

$seeder = Seeder::factory($tableName);

/** prepare values */
/** $name, $label, $additionalAttributes = [] */

$seeder->text('name', 'Name');
$seeder->integer('count', 'Anzahl');
$seeder->textarea('text', 'Freitext');

/** create values */

$seeder->create();


/** create a faker instance */
$faker = Faker\Factory::create();

/** register REDAXO provider if needed */
//$faker->addProvider(new \YformSeeder\Faker\Redaxo($faker));

/**
 * to get a random image name from the media pool use:
 * $faker->beMedia(int $categoryId = null, string $type = 'image/jpeg')
 */

/**
 * to get a random article ID use:
 * $faker->beLink()
 */

/** add values */
//mehrere Datensätze einfügen
for ($i = 0; $i < 10; $i++) {
    $sql = rex_sql::factory();
    $sql->setTable($tableName);

    $sql->setValue('name', $faker->name());
    $sql->setValue('count', $faker->randomNumber(2, false));
    $sql->setValue('text', $faker->text(100));

    $sql->insert();
}

Ergebnis

table

yform_table

yform_seeder's People

Contributors

eace avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

yform_seeder's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.