Есть ли способ легко клонировать объект Eloquent, включая все его отношения?
Например, если бы у меня были эти таблицы:
users ( id, name, email )
roles ( id, name )
user_roles ( user_id, role_id )
В дополнение к созданию новой строки в users
таблице со всеми одинаковыми столбцами, кроме того id
, он должен также создать новую строку в user_roles
таблице, назначая ту же роль новому пользователю.
Что-то вроде этого:
$user = User::find(1);
$new_user = $user->clone();
Где модель User имеет
class User extends Eloquent {
public function roles() {
return $this->hasMany('Role', 'user_roles');
}
}