如何将$i
变量传递给此函数?
$i = 0;
foreach(request('nazwa') as $n){
$nr = new Schemat;
$nr->specjalizacja_id = $s->id;
$nr->nazwa=$n;
$nr->typ=request('typ')[$i];
// $nr->save();
$i++;
}
$i = $i-1;
Schema::connection('mysql')->create($s->nazwa, function($table){
$table->increments('id');
$table->integer('pacjent_id');
$table->integer('wizyta_id');
for($j=$i; $j>=0; $j--){ //**Undefined variable: i ERROR**
if(request('typ')[$j] == 0){
$table->integer(request('nazwa')[$j]);
} elseif(request('typ')[$j] == 1){
$table->text(request('nazwa')[$j]);
} else {
$table->text(request('nazwa')[$j]);
}
}
$table->timestamps();
});
答案 0 :(得分:2)
如果您想使用$i
等本地变量,请使用use()
将其传递给匿名函数。
Schema::connection('mysql')
->create($s->nazwa, function($table) use ($i) {
$table->increments('id');
$table->integer('pacjent_id');
$table->integer('wizyta_id');
for ($j = $i; $j >= 0; $j--) {
if (request('typ')[$j] == 0) {
$table->integer(request('nazwa')[$j]);
} elseif (request('typ')[$j] == 1) {
$table->text(request('nazwa')[$j]);
} else {
$table->text(request('nazwa')[$j]);
}
}
$table->timestamps();
});