Я решил проблему, используя свойство stati c в классе модели eloquent:
class modelName extends Model
{
public static $extraArguments;
public function __construct(array $attributes = [],$data = [])
{
parent::__construct($attributes);
self::$extraArguments = $data ;
public static function boot()
{
parent::boot();
self::created(function ($model) {
//the model created for the first time and saved
//do something
//code here
self::$extraArguments; // is available in here
});
}
}
Это работает! но я не знаю, может ли это вызвать какое-либо другое неправильное поведение в приложении.
Использование laravel событий также является лучшим и более чистым способом сделать это в НЕКОТОРЫХ случаях. Но проблема с решением событий - это вы не может знать, была ли модель создана наверняка, и пришло время вызвать событие, или она все еще находится в статусе создания (а не статус создан).