簡體   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