Laravel-从DB :: table()-> insert访问一个值

时间:2018-07-25 17:56:41

标签: php mysql laravel

我正在使用Faker构建一个插入查询,不知道是否可以使用要插入另一个值的值。

这是一个例子,对我的情况不准确,但说明得很好:

DB::table('debts')->insert([

    'name' => $faker->company,

    'debt' =>  $faker->randomFloat($nbMaxDecimals = 2, $min = 20000, $max = 10000000),

    'debt_paid' => 'debt' /  rand ( 2 , 8 ),

    'notes' => $faker->paragraph($nbSentences = 3, $variableNbSentences = true),

]);

如您所见,在debt_paid的行中,我想访问上面随机定义的'debt'的值。这是因为debt_paid必须具有逻辑性,并且如果没有debt的值,则可能是无意义的。

我知道在插入之前将“债务”定义为变量会解决该问题,但是我想知道是否还有更优雅的解决方案。

1 个答案:

答案 0 :(得分:2)

在插入内容之外也是如此

$dbt = $faker->randomFloat($nbMaxDecimals = 2, $min = 20000, $max = 10000000);

DB::table('debts')->insert([
    'name' => $faker->company,
    'debt' =>  $dbt,
    'debt_paid' => $dbt /  rand ( 2 , 8 ),
    'notes' => $faker->paragraph($nbSentences = 3, $variableNbSentences = true),
]);