Я не знаю, правильно ли я сформулировал вопрос, но что угодно.
Поэтому, когда я использую метод «store» на моем контроллере, я посылаю два поля, «name» и «fr», оба в одном запросе. В моем контроллере я хочу иметь возможность создавать свою модель (Room) и привязывать к ней свои отношения (RoomTranslation). Когда я пробую следующий код, он говорит, что я не предоставил номер_идентификатора. Есть ли автоматический c способ добиться этого?
public function store(RoomRequest $request)
{
$request = $request->validated();
$room = new Room;
$room->create($request);
$room->translations()->create($request);
return success('');
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class RoomTranslation extends Model
{
protected $fillable = ['fr', 'room_id'];
public function room() {
return $this->belongsTo('App\Room');
}
}
<?php
namespace App;
use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\Model;
use App\RoomTranslation;
class Room extends Model
{
protected $fillable = ['name'];
public function categories() {
return $this->hasMany('App\Category');
}
public function translations() {
return $this->hasOne('App\RoomTranslation');
}
}
Спасибо за вашу помощь!
PS: Если есть более чистый способ написать это часть моего кода, я буду рад услышать, как я могу улучшить его.
Спасибо!