我正在尝试更新管理员上某些表的行。它与背包杂物一起运行。我已经进行了一些调试,最后在背包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');
}
}
答案 0 :(得分:0)
在您的EntityCrudController::update()
方法中,调用$this->crud->entry
后应该可以使用parent::updateCrud()
。因此,这应该适合您获取当前的条目ID:
```
public function update(UpdateRequest $request)
{
$redirect_location = parent::updateCrud();
dd($this->crud->entry->id);
return $redirect_location;
}
```