如何从数组输入中删除不需要的值?

时间:2019-12-29 18:14:25

标签: php laravel

我只是想问一下如何避免数组输入产生这种输出。每次更新时,这些符号[“ \” [都会不断相乘。我将在下面向您展示问题和代码。 谢谢您将来的回答。

enter image description here enter image description here

Route :: resource('setups','SetupController');

public function index()
    {
       $data = DB::table('setups')->first();
        if (!empty($data)) {        
            $socials = explode(',',$data -> social);
        }else{
            $socials = [];
        }
        return view ('adminpanel.setup.index',['data' => $data,'socials' => $socials]);
    }

index.blade.php

<form action="{{ route('setups.edit',$data->id) }}">
<div class="row">
  <div class="col-md-12" id="socialGroup">
    @foreach($socials as $social)
    <div class="form-group socialField">
    <label class="bmd-label-floating">Social Links</label>
      <input type="text" name="social[]" value="{{$social}}" class="form-control" disabled>
      <a href="#" class="addField"><i class="fa fa-plus"></i></a>
    </div>
    @endforeach
    <div class="alert alert-danger" id="socialError">
    <p><strong>Sorry! </strong>You've reached the max number for social links form.</p>
    </div>
  </div>
</div>
<form>

public function edit($id)
    {
        $data = DB::table('setups')->first();
        $setup = DB::table('setups')->where('id', $id)->first();
        if (!empty($data)) {        
            $socials = explode(',',$data -> social);
        }else{
            $socials = [];
        }

        if($setup){
        return view ('adminpanel.setup.edit',['data' => $data,'socials' => $socials]);
        }else{
            return redirect('setups');
        }
    }

edit.blade.php

<form method="POST" action="{{ route('setups.update', $data->id) }}">
<div class="row">
  <div class="col-md-12" id="socialGroup">
    @foreach($socials as $social)
    <div class="form-group socialField">
    <label class="bmd-label-floating">Social Links</label>
      <input type="text" name="social[]" value="{{ $social }}" class="form-control">
      <a href="#" class="addField"><i class="fa fa-plus"></i></a>
    </div>
    @endforeach
    <div class="alert alert-danger" id="socialError">
    <p><strong>Sorry! </strong>You've reached the max number for social links form.</p>
    </div>
  </div>
</div>
<form>

public function update(Request $request, Setup $setup)
{
    $data = Input::except('_token', 'submit', '_method');
    $tbl = decrypt($data['tbl']);
    unset ($data['tbl']);

    $data['updated_at'] = date('Y-m-d H:i:s');
    DB::table($tbl)->where(key($data), reset($data))->update($data);

    session::flash('message','Setup updated successfully!!!');
    return redirect()->route('setups.index');
}
  

已解决!我刚刚在SetupController @ update中添加了此代码,以阐明之前那些不需要的分隔线或分隔符(无论如何)   发送到数据库。

if (Input::has('social')) {
            $data['social'] = implode(',',$data['social']);
    }

enter image description here

1 个答案:

答案 0 :(得分:0)

解决了!我刚刚在SetupController @ update

中添加了此代码
if (Input::has('social')) {
            $data['social'] = implode(',',$data['social']);
    }

enter image description here