Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在laravel 6中创建一对多关系中的数据?_Laravel - Fatal编程技术网

如何在laravel 6中创建一对多关系中的数据?

如何在laravel 6中创建一对多关系中的数据?,laravel,Laravel,Kegiatan.php use Illuminate\Database\Eloquent\Model; class Kegiatan extends Model { protected $fillable = ['kegiatan']; protected $table = 'kegiatan'; public function galeri() { return $this->hasMany(Galeri::class); }

Kegiatan.php

use Illuminate\Database\Eloquent\Model;

class Kegiatan extends Model
{
    protected $fillable = ['kegiatan'];
    protected $table = 'kegiatan';

    public function galeri()
    {
        return $this->hasMany(Galeri::class);
    }
}
Galeri.php

class Galeri extends Model
{
    protected $fillable = ['galeri'];
    protected $table = 'galeri';

    public function kegiatan()
    {
        return $this->belongsTo(Kegiatan::class);
    }
}
form.blade.php

<form action="galeri" method="post" enctype="multipart/form-data">
        @csrf
        <div class="form-group col-md-12 col-sm-12 ml-3">
            <input type="text" name="namakegiatan"
                class="form-control form-control-lg text-center @error('namakegiatan') is-invalid @enderror"
                placeholder="Nama kegiatan" value="{{ old('namakegiatan') }}" autocomplete="off">
        </div>

        <div class="form-group col-md-12 col-sm-12 ml-3">
            <div class="custom-file">
                <input type="file" name="fotokegiatan[]"
                    class="custom-file-input custom-file-input @error('fotokegiatan') is-invalid @enderror"
                    id="customFile" id="customFile" multiple>
                <label class="custom-file-label" for="customFile">Pilih foto kegiatan...</label>
            </div>
        </div>

        <div class="form-group col-md-12 col-sm-12 ml-3">
            <button class="btn btn-dark btn-block" type="submit">
                <i class="mdi mdi mdi-content-save"> </i> Simpan</button>
        </div>
    </form>
galeri表:

ID   GALERI       KEGIATAN_ID
1    foto1.jpg    1
2    foto2.jpg    1
3    foto3.jpg    1

在controller in store方法中,您可以执行以下操作:

foreach($request->fotokegiatan as $obj)
{
  $kegiatan->galeri()->save($obj)
}
无法提供更多的代码,因为我看不到您的控制器,但这将引导您找到解决方案

创建实体

$kegiatan=App\kegiatan::create($createData);
或更新实体:

$kegiatan=App\kegiatan::find($id);
$kegiatan=$kegiatan->update($updateValueArray);
创建多个实体的步骤

$kegiatan->galeri()->创建($arrayGaleriData);

谢谢,先生,我没有包括控制器,因为我不知道应该显示什么。哦,是的,
$kegiatan
变量来自哪里?没问题,希望我能帮助您。至于
$kegiatan
变量,这可能是您的
kegiatan
模型:
$kegiatan=新kegiatan
我很高兴。快乐编码!非常感谢,先生,这很有帮助。哦,是的,如果我想删除,我该怎么做?是否使用
$kegiatan=$kegiatan->delete($updateValueArray)
foreach($request->fotokegiatan as $obj)
{
  $kegiatan->galeri()->save($obj)
}