В моем проекте Laravel у меня есть страница администратора, сделанную с нити. Это позволяет мне создавать объект комнаты, и после создания пользователя, который его создал, должен быть добавлен в комнату. < /P>
Но по какой -то причине этого не происходит. Комната создается, но таблица поворота остается пустой.// CreateRoom.php
class CreateRoom extends CreateRecord
{
protected static string $resource = RoomResource::class;
protected function handleRecordCreation(array $data): Room
{
try {
$roomDomainService = app()->make(RoomDomainService::class);
$roomDTO = new RoomDTO($data['user_id'], $data['name'], $data['description'] ? $data['description'] : Optional::create());
$room = $roomDomainService->create($roomDTO);
return $room;
} catch (BindingResolutionException $e) {
throw $e;
}
}
}
< /code>
//RoomDomainService.php
public function create(RoomDTO $dto): Room
{
$room = new Room();
$this->update($room, $dto);
$this->userService->assignToRoom($dto->userId, $room->id);
return $room;
}
public function update(Room $room, RoomDTO $dto): void
{
$room->name = $dto->resolve($dto->name, $room->name);
$room->description = $dto->resolve($dto->description, $room->description);
$room->user_id = $dto->resolve($dto->userId, $room->user_id);
$room->save();
}
< /code>
//UserService.php
public function assignToRoom(int $userId, int $roomId)
{
$room = $this->roomRepository->find($roomId);
try {
$room->users()->attach($userId);
} catch(\Exception $e) {
throw $e;
}
}
< /code>
//Room.php
class Room extends Model
{
use SoftDeletes;
protected $guarded = [];
public function users() {
return $this->belongsToMany(User::class, 'room_user')->withTimestamps();
}
public function creator() {
return $this->belongsTo(User::class, 'user_id');
}
}
< /code>
//RoomController.php
public function create(RoomRequest $request)
{
$room = $this->roomDomainService->create($request->toDTO());
return response()->json([
'success' => true,
'data' => new RoomPresenter($room),
], 201);
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... n-filament