想知道是否有可能在Laravel迁移文件中运行foreach循环。
例如:
public function up()
{
Schema::create('tests', function (Blueprint $table) {
$testarray = [
'string' => 'name',
'string' => 'lastname',
'string' => 'random',
];
$table->increments('id');
foreach ($testarray as $type => $column)
{
$table->$type($column);
}
$table->rememberToken();
$table->timestamps();
});
}
不幸的是,以上将迁移;但是,只会创建数组中的最后一项。
我尝试了几种不同的方法都没有用。
但是...考虑到至少有一些数据能够通过并且迁移确实在进行,因此应该有一种方法可以使这项工作生效。
我觉得好像我必须丢失一些明显的东西才能使它工作。
在您的示例中,将仅创建最后一项,因为您多次将相同的元素分配给“字符串”索引。
尝试这样的事情,也许:
$testarray = [
['string', 'name'],
['string', 'lastname'],
['string', 'random']
];
$table->increments('id');
foreach ($testarray as $column)
{
$table->{$column[0]}($column[1]);
}
希望能帮助到你!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句