[英]insert data using current value from another table laravel?
所以我有 2 張桌子,即 Hewan 作為父母,Ras_Hewan 作為孩子。 我的父表上有一些數據,我想使用父表中的當前值將值插入到我的子表中,而沒有表單?
父表
protected $fillable = [
'nama_jenis_hewan',
'parent_id',
'slug_jenis_hewan'
];
public function rasHewan() {
return $this->hasMany(RasHewan::class,'id');
}
public function getNamaJenisHewan() {
return $this->hasOne(RasHewan::class,'id','nama_ras_hewan')
}
子表
use HasFactory;
public $timestamps = false;
protected $fillable = [
'nama_ras_hewan',
'jenis_hewan_id',
'slug_ras_hewan'
];
public function ParentJenisHewan() {
return $this->belongsTo(JenisHewan::class,'jenis_hewan_id','id');
}
public function NamaJenisHewan() {
return $this->belongsTo(JenisHewan::class,'jenis_hewan_id','nama_ras_hewan');
}
插入 function
public function store(Request $request)
{
$getParentOption = JenisHewan::where('id')->pluck('nama_jenis_hewan');
$validator = $request->validate([
'nama_ras_hewan' => 'required|string|min:3',
'jenis_hewan_id' => 'required|string|',
'parent_ras_jenis_hewan'=> 'string',
], [
'nama_ras_hewan.required' => 'Ras Hewan tidak boleh kosong']
);
RasHewan::create($validator);
if(validator()) {
return redirect()->route('rashewan.index')
->with('success', 'Data '.$request->nama_ras_hewan .' telah selesai dibuat.');
} else {
return redirect()->route('rashewan.index')->with('error','Data gagal dibuat');
}
}
就像,當它在我的子表中插入數據時,它會自動使用我父表中的“nama_jenis_hewan”值?
當關系存在時,通常雄辯的會給你一個方法。 如果在您的請求中選擇了父級,則可以通過以下方式創建子級:
$getParentOption = JenisHewan::where('id',$request->get('id'))->first();
$validator = $request->validate([
'nama_ras_hewan' => 'required|string|min:3',
'parent_ras_jenis_hewan'=> 'string',
], [
'nama_ras_hewan.required' => 'Ras Hewan tidak boleh kosong']
);
$getParentOption->rasHewan()->create($validator);
//.............
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.