В Laravel, в чем разница между - >create () и - >make()

У меня есть следующий код:

$this->actingAs(factory('AppUser')->create());

$thread = factory('AppThread')->make();

в чем разница между create() и make() и почему она не указана на странице вспомогательных функций в документации Laravel? Спасибо! :)

2 ответов


create сохраняется в базе данных, в то время как make просто создает новый экземпляр модели.

на create метод не только создает экземпляры модели, но и сохраняет их в базу данных с помощью метода сохранения Eloquent

https://laravel.com/docs/5.4/database-testing#using-factories

если вы хотите увидеть различия в исходном коде между make и create, вы можете увидеть их в src/Illuminate/Database/Eloquent/FactoryBuilder.php


Laravel create method is created the model instance and save data in the database.
Make function has created the instance of the class.

кликните здесь для получения дополнительной информации