【问题标题】:Error "array_key_exists(): The first argument should be either a string or an integer"错误“array_key_exists():第一个参数应该是字符串或整数”
【发布时间】:2020-11-01 20:22:32
【问题描述】:

我在我的项目中使用 Laravel,我需要从记录的 idcreated_at->hourcreated_at->minute 生成 no_track。我可以将数据保存到数据库,但创建no_track 后无法将数据保存到数据库。错误信息说:

array_key_exists():第一个参数应该是字符串或 整数。

我附上了错误消息的图片。当我将数据保存到数据库时,我想从记录的id 中获取no_track,小时和分钟,并将no_track 保存到no_track 字段中。

I got this error messages

这是我的表单代码:

<div class="row">
    <div class="col-md-8 col-md-offset-2">
        <div class="panel panel-default">
            <div class="panel-heading" style="background-color: #2a3b48; color: #ffffff"><center>Entri Data Gangguan</center></div>
            <div class="panel-body">
                <form class="form-horizontal" role="form" method="POST" action="{{ route('lapor.submit') }}">

                    {{ csrf_field() }}

                    <div class="form-group{{ $errors->has('id_jenis') ? ' has-error' : '' }}">
                        <label for="id_jenis" class="col-md-4 control-label">Jenis Gangguan</label>

                        <div class="col-md-6">
                            <select name="id_jenis" id="id_jenis" class="form-control jgangguan" value="{{ old('id_jenis') }}" required>
                                <option disabled="true" selected="true">- Pilihan -</option>
                            @forelse($jgangguan as $jgangguan)
                                    <option value="{{ $jgangguan->id }}">{{ $jgangguan->nama_layanan }}</option>
                                @empty

                                @endforelse
                            </select>
                            @if ($errors->has('id_jenis'))
                                <span class="help-block">
                                <strong>{{ $errors->first('id_jenis') }}</strong>
                            </span>
                            @endif
                        </div>
                    </div>

                    <div class="form-group{{ $errors->has('id_app_jar') ? ' has-error' : '' }} cgangguan">
                        <label for="id_app_jar" class="col-md-4 control-label"></label>

                        <div class="col-md-6">
                            <select name="id_app_jar" id="id_app_jar" class="form-control jappjar" value="{{ old('id_app_jar') }}" required>
                                <option value="0" disabled selected>- Pilihan -</option>
                            </select>

                            @if ($errors->has('id_app_jar'))
                                <span class="help-block">
                                <strong>{{ $errors->first('id_app_jar') }}</strong>
                            </span>
                            @endif
                        </div>
                    </div>

                    <div class="form-group{{ $errors->has('detail') ? ' has-error' : '' }}">
                        <label for="detail" class="col-md-4 control-label"></label>

                        <div class="col-md-6">
                            <textarea name="detail" id="detail" class="form-control" value="{{ old('detail') }}" placeholder="Detail Gangguan">

                            </textarea>

                            @if ($errors->has('detail'))
                                <span class="help-block">
                                <strong>{{ $errors->first('detail') }}</strong>
                            </span>
                            @endif
                        </div>
                    </div>

                    <div class="form-group">
                        <div class="col-md-6 col-md-offset-4">
                            <button type="submit" class="btn btn-danger col-md-3">
                                Lapor
                            </button>
                        </div>
                    </div>
                </form>

                <script src="{{ url('/assets/vendor/jquery/jquery.min.js') }}"></script>
                <script type="text/javascript">
                    $(document).ready(function () {
                        $(document).on('change','.jgangguan', function () {
                            //console.log('its change');

                            var id_jenis=$(this).val();
                            //console.log(id_jenis);
                            var div=$(this).parents();
                            var op="";

                            switch (id_jenis){
                                case '1' :
                                    $.ajax({
                                        type:'get',
                                        url:'{!! URL::to('data-jar') !!}',
                                        data:{'id':id_jenis},
                                        success:function (data) {
                                            //console.log('success');
                                            //console.log(data);
                                            //console.log(data);
                                            op+='<option value="0" selected disabled>- Pilih Jaringan -</option>';
                                            for(i=0;i<data.length;i++){
                                                op+='<option value="'+data[i].id+'">'+data[i].nama_jaringan+'</option>';
                                            }
                                            div.find('.jappjar').html("");
                                            div.find('.jappjar').append(op);
                                        },
                                        error:function () {

                                        }
                                    });
                                break;

                                case '2' :
                                    $.ajax({
                                        type:'get',
                                        url:'{!! URL::to('data-app') !!}',
                                        data:{'id':id_jenis},
                                        success:function (data) {
                                            //console.log('success');
                                            //console.log(data);
                                            //console.log(data);
                                            op+='<option value="0" selected disabled>- Pilih Aplikasi -</option>';
                                            for(i=0;i<data.length;i++){
                                                op+='<option value="'+data[i].id+'">'+data[i].nama+'</option>';
                                            }
                                            div.find('.jappjar').html("");
                                            div.find('.jappjar').append(op);

                                        },
                                        error:function () {

                                        }
                                    });
                                break;
                            }

                        });
                    });
                </script>

            </div>
        </div>
    </div>
</div>

这是我的控制器:

/**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */
public function create()
{
    $jgangguan = JenisLayanan::all();
    $app = Aplikasi::all();
    $jar = Jaringan::all();
    return view('lapor.create', compact('jgangguan','app','jar'));
}

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{
    $this->validate($request,[
        'id_jenis' => 'required',
        'id_app_jar' =>'required'
    ]);

    //$status = Status::all();
    $status = 1;
    $codeH = substr(strftime("%H", time()),0);
    $codeM = substr(strftime("%M", time()),0);
    $codeS = substr(strftime("%S", time()),0);
    $id = Auth::user()->id;
    $id_app_jar = $request->id_app_jar;
    $id_jenis = $request->id_jenis;

    $gangguan = new Gangguan();
    $gangguan->id_pelapor = $id;
    $gangguan->id_jenis = $id_jenis;
    $gangguan->id_aplikasi_atau_jaringan = $id_app_jar;
    $gangguan->detail = $request->detail;
    $gangguan->id_status = $status;
    $gangguan->no_track = $codeH.$codeM;
    $gangguan->save();

    $id = $gangguan->id;
    $jam = $gangguan->created_at->hour;
    $menit = $gangguan->created_at->minute;
    $track = $id.$jam.$menit;
    $gangguan = Gangguan::findOrFail($id);
    $gangguan->update(array(
        $gangguan->no_track = $track
    ));

    return redirect()
        ->route('dashboard')
        ->with('message',$track);
}

/**
 * Display the specified resource.
 *
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function show($id)
{
    //
}

/**
 * Show the form for editing the specified resource.
 *
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function edit($id)
{
    //
}

/**
 * Update the specified resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function update(Request $request, $id)
{
    //
}

/**
 * Remove the specified resource from storage.
 *
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function destroy($id)
{
    //
}

public function dataJar(){
    $jar = Jaringan::all();
    return response()->json($jar);
}

public function dataApp(){
    $app = Aplikasi::all();
    return response()->json($app);
}

这是我的表结构:

Table structure

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    在我的情况下,错误在这一行:

        $attrs = Attribute::get();
        $attribute_ids = $attrs->map->only(['id']); // solved
    

    而不是

        $attrs = Attribute::get();
        $attribute_ids = $attrs->get(['id']); // here was my error
    

    我先替换

    第二个没用

    这是发生的错误

    "message": "array_key_exists(): The first argument should be either a string or an integer",
    "exception": "ErrorException",
    

    【讨论】:

      【解决方案2】:

      在我的情况下,代码没有错误,然后我重新启动本地服务器但没有任何反应 我清除了我的缓存、视图、重新运行服务器、composer dump-autoload 但没有任何效果。 解决方案

      I terminate the current project server and run another project,
      this project is run successfully, and after this I run my current project so it works like a charm.
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-03
        • 1970-01-01
        • 2021-03-04
        • 2021-09-13
        • 2020-09-25
        • 2018-04-16
        • 2021-06-30
        • 1970-01-01
        相关资源
        最近更新 更多