Как связать переменную с другой в laravel
Добрый день, у меня есть класс под названием 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
Является ответом!

16.11.2019 07:11:13
При условии, что Machine
в random $state
или 0
и используйте тернарный оператор для генерации случайного элемента для 1
, основанного на том, является ли comment
true или 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
}
Надеюсь, это поможет

Большое спасибо за вашу помощь ! Еще раз спасибо!
Помочь в развитии проекта: