Использование Maatwebsite
для загрузки файла Excel в базу данных.Возврат данных с анонимной функции
Каждая строка имеет тип недвижимости, например «пентхаус» или «вилла».
Я хочу собрать каждый тип свойства каждой строки.
Используя следующую функцию не будет работать:
Excel::filter('chunk')->load($csv->getRealPath())->chunk(250, function ($results) {
DB::table('prices')->truncate();
foreach ($results as $row) {
/**
* @var CellCollection $row
*/
array_push($this->property_types, $row->property_type);
$price = Price::create($row->all());
}
});
с определением $this->property_types
в функции __construct
как:
public function __construct()
{
$this->middleware('auth');
$this->property_types = [];
}
Это приведет к пустому массиву.
Как указано here, определение массива и using
амперсанд может устранить проблему, хотя это вернет тот же результат, пустой массив.
$data = [];
Excel::filter('chunk')->load($csv->getRealPath())->chunk(250, function ($results) use (&$data) {
DB::table('prices')->truncate();
foreach ($results as $row) {
/**
* @var CellCollection $row
*/
array_push($data, $row->property_type);
$price = Price::create($row->all());
}
});
Что мне нужно сделать, чтобы определить данные внутри анонимной функции и получить данные вне функции?
Какую версию PHP вы используете? –
'Возвращаемые данные от анонимной функции', затем' return $ something; 'в анонимной функции;) – JustOnUnderMillions
И' $ this-> 'указывает на колдуну Instance ?? – JustOnUnderMillions