使用另一个表laravel中的当前值插入数据?
Posted
技术标签:
【中文标题】使用另一个表laravel中的当前值插入数据?【英文标题】:insert data using current value from another table laravel? 【发布时间】:2021-08-04 20:02:11 【问题描述】:所以我有 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');
插入函数
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”值?
【问题讨论】:
【参考方案1】:通常,当关系存在时,雄辩的会给你一个方法。如果在您的请求中选择了父母,则可以通过以下方式创建孩子:
$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);
//.............
【讨论】:
以上是关于使用另一个表laravel中的当前值插入数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何获取最后插入的自动递增 id 并将其插入 laravel 中的另一个表中?