Udefined переменная при добавлении столбца в laravel
$save=$data->save();
if ($save) {
Schema::table('users', function($table) {
$table->string($data->id);
});
return back()->withInput()->with('message','Carrier Created Successfully');
}
И сохранил несколько данных в таблице, чем хочу добавить столбец с идентификатором этих данных в таблицу пользователей, но с ошибкой:
неопределенная переменная $data
и выделенная строка:
$table->string($data->id);
2 ответа
Решение
Вам нужно использовать use
для использования другой переменной из одной функции в другую
Schema::table('users', function($table) use ($data) {
$table->string($data->id);
});
Переменные вне внутренней функции недоступны внутри внутренней функции. Для этого вам нужно передать переменную, используяuse
$save=$data->save();
if ($save) {
Schema::table('users', function($table) use ($data) {
$table->string($data->id);
});
return back()->withInput()->with('message','Carrier Created Successfully');
}
Сейчас $data
должен быть доступен внутри функции.