Laravel 第一个或第一个或第二个在拉拉维尔没有虫子

Laravel 第一个或第一个或第二个在拉拉维尔没有虫子,laravel,Laravel,我在educationals表中有一行 我的表格就像这个演示 当我单击“添加其他学术记录”时,它会添加新行;当我填写新数据时,在最后一步中,当我单击“提交”时,数据库中不会发生任何事情 第一种方法: foreach ($request->field as $key => $value) { $educational = Educational::firstOrNew(['user_id' => auth()->id()]); $educational-

我在
educationals
表中有一行

我的表格就像这个演示

当我单击“添加其他学术记录”时,它会添加新行;当我填写新数据时,在最后一步中,当我单击“提交”时,数据库中不会发生任何事情

第一种方法:

foreach ($request->field as $key => $value) {
    $educational = Educational::firstOrNew(['user_id' => auth()->id()]);
    $educational->user_id = auth()->id();
    $educational->grade_id = $request->grade_id[$key];
    $educational->field = $request->field[$key];
    $educational->institution_id = $request->institution_id[$key];
    $educational->branch = $request->branch[$key];
    $educational->institution_education = $request->institution_education[$key];
    $educational->gpa = $request->gpa[$key];
    $educational->nation_id = $request->nation_id[$key];
    $educational->province_id = $request->province_id[$key];
    $educational->town_id = $request->town_id[$key];
    $educational->province_name = $request->province_name[$key];
    $educational->town_name = $request->town_name[$key];
    $educational->entrance = $request->entrance[$key];
    $educational->graduate = $request->graduate[$key];
    $educational->currently_studying = $request->has("currently_studying.$key");
    $educational->save();
}
第二种方法:

foreach ($request->field as $key => $value) {
    try {
        $educational = new Educational;
        $educational->user_id = auth()->id();
        $educational->grade_id = $request->grade_id[$key];
        $educational->field = $request->field[$key];
        $educational->institution_id = $request->institution_id[$key];
        $educational->branch = $request->branch[$key];
        $educational->institution_education = $request->institution_education[$key];
        $educational->gpa = $request->gpa[$key];
        $educational->nation_id = $request->nation_id[$key];
        $educational->province_id = $request->province_id[$key];
        $educational->town_id = $request->town_id[$key];
        $educational->province_name = $request->province_name[$key];
        $educational->town_name = $request->town_name[$key];
        $educational->entrance = $request->entrance[$key];
        $educational->graduate = $request->graduate[$key];
        $educational->currently_studying = $request->has("currently_studying.$key");
        $educational->save();
    } catch (Exception $e) {
        dd($e->getMessage());
    }
}
第三种方法

foreach ($request->field as $key => $value) {
    Educational::firstOrCreate([
        'user_id' => auth()->id(),
        'grade_id' => $request->grade_id[$key],
        'field' => $request->field[$key],
        'institution_id' => $request->institution_id[$key],
        'branch' => $request->branch[$key],
        'institution_education' => $request->institution_education[$key],
        'gpa' => $request->gpa[$key],
        'nation_id' => $request->nation_id[$key],
        'province_id' => $request->province_id[$key],
        'town_id' => $request->town_id[$key],
        'province_name' => $request->province_name[$key],
        'town_name' => $request->town_name[$key],
        'entrance' => $request->entrance[$key],
        'graduate' => $request->graduate[$key],
        'currently_studying' => $request->has("currently_studying.$key"),
    ]);
}
第四种方法

foreach ($request->field as $key => $value) {
    try {
    $educational = Educational::firstOrCreate(['user_id' => auth()->id()]);
        $educational->user_id = auth()->id();
        $educational->grade_id = $request->grade_id[$key];
        $educational->field = $request->field[$key];
        $educational->institution_id = $request->institution_id[$key];
        $educational->branch = $request->branch[$key];
        $educational->institution_education = $request->institution_education[$key];
        $educational->gpa = $request->gpa[$key];
        $educational->nation_id = $request->nation_id[$key];
        $educational->province_id = $request->province_id[$key];
        $educational->town_id = $request->town_id[$key];
        $educational->province_name = $request->province_name[$key];
        $educational->town_name = $request->town_name[$key];
        $educational->entrance = $request->entrance[$key];
        $educational->graduate = $request->graduate[$key];
        $educational->currently_studying = $request->has("currently_studying.$key");
        $educational->save();
    } catch (Exception $e) {
        dd($e->getMessage());
    }
}
第五种方法

public function update(Request $request) {
    $user = auth()->user();
    $user->image = $path;
    $user->first_name = $request->first_name;
    $user->last_name = $request->last_name;
    $user->job_title = $request->job_title;
    $user->gender = $request->gender;
    $user->marital = $request->marital;
    $user->soldier_id = $request->soldier_id;
    $user->birth_date_day = $request->birth_date_day;
    $user->month_id = $request->month_id;
    $user->birth_date_year = $request->birth_date_year;
    $user->email = $request->email;
    $user->mobile = $request->mobile;
    $user->telephone = $request->telephone;
    $user->website = $request->website;
    $user->save();
    foreach ($request->field as $key => $value) {
        if ($user->where('user_id', auth()->id())) {
            $educational = $user->findOrFail('user_id');
        } else {
            $educational = new Educational;
        }
        $educational->user_id = auth()->id();
        $educational->grade_id = $request->grade_id[$key];
        $educational->field = $request->field[$key];
        $educational->institution_id = $request->institution_id[$key];
        $educational->branch = $request->branch[$key];
        $educational->institution_education = $request->institution_education[$key];
        $educational->gpa = $request->gpa[$key];
        $educational->land_id = $request->land_id[$key];
        $educational->province_id = $request->province_id[$key];
        $educational->town_id = $request->town_id[$key];
        $educational->province_name = $request->province_name[$key];
        $educational->town_name = $request->town_name[$key];
        $educational->entrance = $request->entrance[$key];
        $educational->graduate = $request->graduate[$key];
        $educational->currently_studying = $request->has("currently_studying.$key");
        $educational->save();
    }
}
我的刀片

<div class="container-fluid">
    <b>سوابق تحصیلی</b>
    <div class="mb-2 bg-white p-3 mb-5">
        <div class="row p-3" id="showStudy">

        </div>
        <div class="w-100 text-center">
            <p>سوابق تحصیلی دیگری را اضافه کنید.</p>
            <a id="addStudy" class="bg-primary text-white pt-2 pb-2 pl-3 pr-3 rounded-circle cursor-pointer">
                <i class="fas fa-plus"></i>
            </a>
        </div>
    </div>
</div>

<script>    
    $(document).ready(function() {
        let countStudy = 1;
        $('#addStudy').click(function () {
            countStudy++;
            dynamicStudy(countStudy);
        });
        //dynamicStudy(countStudy);
        function dynamicStudy(number) {
            let html = '' +
                '<div class="col-md-12 position-relative">\n' +
                '<i class="fas fa-times text-danger position-absolute"></i>' +
                '<div class="row">\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="grade_id">مقطع</label>\n' +
                '<select id="grade_id" name="grade_id[]" class="form-control">\n' +
                '@foreach($grades as $grade)\n' +
                '<option value="{{ $grade->id }}">\n' +
                '{{ $grade->name }}\n' +
                '</option>\n' +
                '@endforeach\n' +
                '</select>\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="field">رشته تحصیلی</label>\n' +
                '<input id="field" name="field[]" class="form-control">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="branch">گرایش/تخصص</label>\n' +
                '<input id="branch" name="branch[]" class="form-control">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="institution_id">نوع موسسه</label>\n' +
                '<select id="institution_id" name="institution_id[]" class="form-control">\n' +
                '@foreach($institutions as $institution)\n' +
                '<option value="{{ $institution->id }}">{{ $institution->name }}</option>\n' +
                '@endforeach\n' +
                '</select>\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="institution_education">عنوان موسسه آموزشی</label>\n' +
                '<input id="institution_education" name="institution_education[]" class="form-control">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="gpa">معدل</label>\n' +
                '<input id="gpa" name="gpa[]" class="form-control">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="nation_id">کشور</label>\n' +
                '<select id="nation_id" name="nation_id[]" class="form-control">\n' +
                '<option></option>\n' +
                '@foreach($countries as $country)\n' +
                '<option value="{{ $country->id }}">{{ $country->name }}</option>\n' +
                '@endforeach\n' +
                '</select>\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="province_id">استان</label>\n' +
                '<select id="province_id" name="province_id[]" class="form-control">\n' +
                '</select>\n' +
                '<input name="province_name[]" id="province_id" class="form-control d-none">\n'+
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="town_id">شهر</label>\n' +
                '<select id="town_id" name="town_id[]" class="form-control">\n' +
                '</select>\n' +
                '<input name="town_name[]" id="town_id" class="form-control d-none">\n'+
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="entrance">ورود</label>\n' +
                '<input name="entrance[]" id="entrance" class="form-control">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="graduate">فراغت از تحصیل</label>\n' +
                '<input name="graduate[]" id="graduate" class="form-control">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<div class="custom-control custom-checkbox my-4 mr-sm-2">\n' +
                '<input type="checkbox" class="custom-control-input" id="currently_studying" name="currently_studying[]">\n' +
                '<label class="custom-control-label" for="currently_studying">در حال تحصیل</label>\n' +
                '</div>\n' +
                '</div>\n' +
                '</div>\n' +
                '</div>\n' +
                '</div>';
            $('#showStudy').append(html);
        }

        showDynamicStudy();
        function showDynamicStudy(){
            let html = '' +
                '@foreach(auth()->user()->educationals as $educational)\n'+
                '<div class="col-md-12 position-relative">\n' +
                '<i class="fas fa-times text-danger position-absolute"></i>' +
                '<div class="row">\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="grade_id">مقطع</label>\n' +
                '<select id="grade_id" name="grade_id[]" class="form-control">\n' +
                '@foreach($grades as $grade)\n' +
                '<option value="{{ $grade->id }}" {{ $educational->grade_id == $grade->id ? 'selected' : '' }}>\n' +
                '{{ $grade->name }}\n' +
                '</option>\n' +
                '@endforeach\n' +
                '</select>\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="field">رشته تحصیلی</label>\n' +
                '<input id="field" name="field[]" class="form-control" value="{{ $educational->field }}">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="branch">گرایش/تخصص</label>\n' +
                '<input id="branch" name="branch[]" class="form-control" value="{{ $educational->branch }}">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="institution_id">نوع موسسه</label>\n' +
                '<select id="institution_id" name="institution_id[]" class="form-control">\n' +
                '@foreach($institutions as $institution)\n' +
                '<option value="{{ $institution->id }}" {{ $educational->institution_id == $institution->id ? 'selected' : '' }}>{{ $institution->name }}</option>\n' +
                '@endforeach\n' +
                '</select>\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="institution_education">عنوان موسسه آموزشی</label>\n' +
                '<input id="institution_education" name="institution_education[]" class="form-control" value="{{ $educational->institution_education }}">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="gpa">معدل</label>\n' +
                '<input id="gpa" name="gpa[]" class="form-control" value="{{ $educational->gpa }}">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="nation_id">کشور</label>\n' +
                '<select id="nation_id" name="nation_id[]" class="form-control">\n' +
                '<option></option>\n' +
                '@foreach($countries as $country)\n' +
                '<option value="{{ $country->id }}" {{ $educational->nation_id == $country->id ? 'selected' : '' }}>\n' +
                '{{ $country->name }}\n'+
                '</option>\n' +
                '@endforeach\n' +
                '</select>\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="province_id">استان</label>\n' +
                '<select id="province_id" name="province_id[]" class="form-control">\n' +
                '@foreach($states as $state)\n' +
                '<option value="{{ $state->id }}" {{ $educational->province_id == $state->id ? 'selected' : '' }}>\n' +
                '{{ $state->name }}\n' +
                '</option>\n' +
                '@endforeach\n' +
                '</select>\n' +
                '<input name="province_name[]" id="province_id" class="form-control d-none" value="{{ $educational->province_name }}">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="town_id">شهر</label>\n' +
                '<select id="town_id" name="town_id[]" class="form-control">\n' +
                '@foreach($cities as $city)\n' +
                '<option value="{{ $city->id }}" {{ $educational->town_id == $city->id ? 'selected' : '' }}>\n' +
                '{{ $city->name }}\n' +
                '</option>\n' +
                '@endforeach\n' +
                '</select>\n' +
                '<input name="town_name[]" id="town_id" class="form-control d-none" value="{{ $educational->town_name }}">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="entrance">ورود</label>\n' +
                '<input name="entrance[]" id="entrance" class="form-control" value="{{ $educational->entrance }}">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<label for="graduate">فراغت از تحصیل</label>\n' +
                '<input name="graduate[]" id="graduate" class="form-control" value="{{ $educational->graduate }}">\n' +
                '</div>\n' +
                '</div>\n' +
                '<div class="col-md-2">\n' +
                '<div class="form-group">\n' +
                '<div class="custom-control custom-checkbox my-4 mr-sm-2">\n' +
                '<input type="checkbox" class="custom-control-input" id="currently_studying" name="currently_studying[]" {{ $educational->currently_studying == 1 ? 'checked' : '' }}>\n' +
                '<label class="custom-control-label" for="currently_studying">در حال تحصیل</label>\n' +
                '</div>\n' +
                '</div>\n' +
                '</div>\n' +
                '</div>\n' +
                '</div>\n' +
                '@endforeach';
            $('#showStudy').append(html);
        }
    });
</script>

我使用了所有五种方法,但没有一种有效。而不是存储在数据库中。

对于第一种和第三种方法,请确保已在模型中设置了受保护的属性:

protected $guarded = [];

如果第三种方法使用错误,它需要2个数组,假设您要搜索用户id,然后:

Educational::firstOrCreate(['user_id' => auth()->id()], [
    'grade_id' => $request->grade_id[$key],
    'field' => $request->field[$key],
    'institution_id' => $request->institution_id[$key],
    'branch' => $request->branch[$key],
    'institution_education' => $request->institution_education[$key],
    'gpa' => $request->gpa[$key],
    'nation_id' => $request->nation_id[$key],
    'province_id' => $request->province_id[$key],
    'town_id' => $request->town_id[$key],
    'province_name' => $request->province_name[$key],
    'town_name' => $request->town_name[$key],
    'entrance' => $request->entrance[$key],
    'graduate' => $request->graduate[$key],
    'currently_studying' => $request->has("currently_studying.$key"),
]);

那么接下来发生了什么?什么也没发生。你确定你在使用控制器方法吗?是的,我已经得到了dd并得到了结果。我使用了所有五种方法,但都不起作用。而且没有存储在数据库中。我现在测试了,它没有添加到数据库中,就像更新一样。我这样添加了,但没有解决我的问题。
新教育
新教育()完全一样。
。。。“如果没有要传递给类的构造函数的参数,则可以省略类名后的括号。”是否检查了mass asignment属性?数据库连接正常吗?你试过工匠修补匠吗?是的,我什么都试过了,但都没用。我的问题还没有解决
Educational::firstOrCreate(['user_id' => auth()->id()], [
    'grade_id' => $request->grade_id[$key],
    'field' => $request->field[$key],
    'institution_id' => $request->institution_id[$key],
    'branch' => $request->branch[$key],
    'institution_education' => $request->institution_education[$key],
    'gpa' => $request->gpa[$key],
    'nation_id' => $request->nation_id[$key],
    'province_id' => $request->province_id[$key],
    'town_id' => $request->town_id[$key],
    'province_name' => $request->province_name[$key],
    'town_name' => $request->town_name[$key],
    'entrance' => $request->entrance[$key],
    'graduate' => $request->graduate[$key],
    'currently_studying' => $request->has("currently_studying.$key"),
]);