繁体   English   中英

laravel背包-更新行时出错

[英]Backpack for laravel - Error updating rows

我正在尝试更新管理员上某些表的行。 它与背包杂物一起运行。 我已经进行了一些调试,最后在背包CrudController(vendor / backpack / crud / src / app / http / controllers / crudController-UpdateCrud函数)中结束了这句话。

$request->get($this->crud->model->getKeyName();

当我在上面使用dd()时,它为我提供了一个空值。 因此,最终结果向我显示404错误,提示“没有针对模型['模型路线']的查询结果”。 我也打印更新请求,并且每个字段都正常,发送数据没有问题。

我花了6天的时间来解决此问题,但找不到它。 这是我的代码的一部分,感谢您的宝贵时间。

控制器(我恢复了一些领域,因为有很多领域)

class OperadoresCrudController extends CrudController {
  public function setup(){
    $this->crud->setModel('App\Models\Operador');
    $this->crud->setRoute("admin/operadores");
    $this->crud->setEntityNameStrings('operadores', 'operadores');
    $this->crud->enableExportButtons();

    /*
    |--------------------------------------------------------------------------
    | BASIC CRUD INFORMATION
    |--------------------------------------------------------------------------
    */

    //$this->crud->setFromDb();

    // ------ CRUD FIELDS
    // $this->crud->addField($options, 'update/create/both');
    // $this->crud->addFields($array_of_arrays, 'update/create/both');
    // $this->crud->removeField('name', 'update/create/both');
    // $this->crud->removeFields($array_of_names, 'update/create/both');

    $this->crud->addField([
      'name'  => 'nombre',
      'label' => 'Nombre *',
      'type'  => 'text',
      'wrapperAttributes' => [
        'class' => 'form-group col-md-7'
      ],
      'tab'  => 'Datos Generales'
    ]);

    $this->crud->addField([
      'name' =>  'rut',
      'label' => 'Rut',
      'type'  => 'text',
      'wrapperAttributes' => [
        'class' => 'form-group col-md-7'
      ],
      'tab'  => 'Datos Generales'
    ]);

    public function store(StoreRequest $request) {
      return parent::storeCrud();
    }

    public function update(UpdateRequest $request) {
      #dd($request);
      return parent::updateCrud();
    }
 }

模型

class Operador extends Model {
  use CrudTrait;

/*
|--------------------------------------------------------------------------
| GLOBAL VARIABLES
|--------------------------------------------------------------------------
*/

  protected $table = 'operador';
  //protected $primaryKey = 'id';
  // public $timestamps = false;
  // protected $guarded = ['id'];
  protected $fillable = ['nombre','rut','direccion','telefono','email','comuna_id','url','region_id', 'area_operacion','op_nombre_responsable','op_direccion_responsable','op_telefono_responsable','op_email_responsable','created_at','updated_at'];
  // protected $hidden = [];
  // protected $dates = [];

/*
|--------------------------------------------------------------------------
| FUNCTIONS
|--------------------------------------------------------------------------
*/
  public function equipos() {
   return   $this->hasMany('App\Models\Equipo','operador_id');
  }

  public function comuna() {
    return $this->belongsTo('App\Models\Comuna');
  }

  //para insertar select region, prov, comuna
  public function region() {
    return $this->belongsTo('App\Models\Region');
  }

  // Estacion Operador.
  public function estaciones() {
    return $this->hasMany('App\Models\Estacion','operador_id');
  }
}

在您的EntityCrudController::update()方法中,您应该可以在调用parent::updateCrud()之后使用$this->crud->entry 因此,这应该适合您获取当前的条目ID:

```

public function update(UpdateRequest $request)
{
    $redirect_location = parent::updateCrud();

    dd($this->crud->entry->id);

    return $redirect_location;
}

```

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM