Я использую mysql DB, Laravel 5.7 на Apache.
У меня уже запущена полная система, и все вроде бы нормально, кроме ... Я решил начать использовать некоторые красноречивые фабрики для тестированияи заметил, что фабрики делали 2 записи в MySQL, когда я сохраняю / создаю модель.Поэтому я упростил и создал свой собственный метод «makeFake» и обнаружил, что он делает то же самое.Я не знаю, что я сделал не так.Или, может быть, есть какая-то область фреймворка, которую я не до конца понимаю.
Основной вопрос: почему мои методы create () и save () создают 2 записи при вызове?
УпрощенныйПример ниже ... (в данном случае я вызываю 2 метода для создания компании, но я получаю 4 записи о компании)
Из моего web.php
Route::get('/savingTest', function () {
$company = App\Company::makeFake1();
dump($company);
$company = App\Company::makeFake2();
dump($company);
return 'complete';
});
Из моегоМодель Company.php (я уже загрузил библиотеки faker и GUID)
public static function makeFake1()
{
$faker = Faker::create();
$company = new Company;
$company->code = $faker->word;
$company->name = $faker->company;
$company->guid = Guid::create();
$company->save();
return $company;
}
public static function makeFake2()
{
$faker = Faker::create();
return Company::create([
'code' => $faker->word,
'name' => $faker->company,
'guid' => Guid::create(),
]);
}