Как связать переменную с другой в laravel

Как связать переменную с другой в laravel

16.11.2019 06:56:28 Просмотров 37 Источник

Добрый день, у меня есть класс под названием Machine, этот класс имеет переменную "state" и "comment", я хочу, чтобы когда переменная "state" = false, то комментарий добавляется, иначе комментарий не добавляется. Я пытаюсь создать случайные значения, с фабрикой и факером.

<?php

/** @var \Illuminate\Database\Eloquent\Factory $factory */

use App\Model;
use Faker\Generator as Faker;

$factory->define(Model::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
        'state' => $faker->randomElement([0,1]),


      //  $factory-> state(machine::class, 'false',[
            'coment'=> $faker->randomElement(['Malogrado','Estropeado']),
        ])//    I tried to do this, but I don't know if this works.



    ];
});
У вопроса есть решение - Посмотреть?

Ответы - Как связать переменную с другой в laravel / How to link a variable with another in laravel

Является ответом!
Saly 3301

16.11.2019 07:11:13

При условии, что Machineв random $stateили 0и используйте тернарный оператор для генерации случайного элемента для 1, основанного на том, является ли commenttrue или false

state

Учитывая миграцию, которая выглядит так

<?php

/** @var \Illuminate\Database\Eloquent\Factory $factory */

use App\Machine;
use Faker\Generator as Faker;

$factory->define(Machine::class, function (Faker $faker) {
    $state = $faker->randomElement([0, 1]);
    return [
        'name' => $faker->name,
        'state' => $state,
        'comment' => $state ? $faker->randomElement(['Malogrado', 'Estropeado']) : null,
    ];
});

И посеять эти данные

Schema::create('machines', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->string('name');
    $table->boolean('state');
    $table->string('comment')->nullable();
    $table->timestamps();
});

Результат

public function run()
{
    factory('App\Machine', 5)->create(); // Create 5 random machines
}

Надеюсь, это поможет

https://stackoverflow.com/questions/58892519/how-to-link-a-variable-with-another-in-laravel/58892669#comment104052292_58892669
Большое спасибо за вашу помощь ! Еще раз спасибо!
Закрыть X