Неопределенная переменная при добавлении столбца в laravel - PullRequest
1 голос
/ 16 июня 2020
$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 ]

1 голос
/ 16 июня 2020

Вам необходимо использовать use для использования другой переменной из одной функции в другую

Schema::table('users', function($table) use ($data) {
      $table->string($data->id);
});
0 голосов
/ 17 июня 2020

Переменные вне внутренней функции недоступны внутри внутренней функции. Для этого вам нужно передать переменную, используя 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 должен быть доступен внутри функции.

...