【问题标题】:insert data using current value from another table laravel?使用另一个表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”值?

【问题讨论】:

    标签: php html laravel laravel-8 laravel-7


    【解决方案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);   
       //.............
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      • 2021-05-14
      相关资源
      最近更新 更多