Есть ли способ легко клонировать объект 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();
Если модель пользователя имеет
class User extends Eloquent {
public function roles() {
return $this->hasMany('Role', 'user_roles');
}
}