[英]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.