updateorcreate - Laravel 5: MassAssignmentException en Model.php
updateorcreate laravel (6)
Estoy recibiendo este error:
MassAssignmentException en Model.php line 448: _token
Cuando estoy usando create
método. Por favor revise el código a continuación:
Contacts.php (Modelo):
class Contacts extends Model
{
protected $table = [''name'', ''mobile'', ''email'', ''address'', ''created_at'', ''updated_at''];
}
ContactsController.php (Controlador):
public function store(Request $request)
{
$inputs = $request->all();
$contacts = Contacts::Create($inputs);
return redirect()->route(''contacts.index'');
}
Asegúrese de colocar el archivo $ fillable o $ guarded en el archivo app / Contacts.php y no en el archivo app / Http / Controllers / ContactsController.php. Debería ser obvio, pero puede pasarse por alto.
Compruebe el modelo que ha importado o no. Si no, entonces usa esto.
<?php
namespace App/Http/Controllers/Auth;
use App/Http/Controllers/Controller;
use App/User;
Esto puede suceder en caso de que haya utilizado la clase importada incorrectamente. Si está utilizando el modelo de usuario.
Importación errónea
// mostly IDE suggestion
use Illuminate/Foundation/Auth/User;
Importación de modelo correcto
use App/User;
He pasado por esto. podría ayudar a alguien
Para la excepción de asignación de masa : debe especificar todos los campos del modelo que desea asignar en masa a través de operaciones de creación o actualización en la propiedad $fillable
:
protected $fillable = [''name'', ''mobile'', ''email'', ''address'', ''created_at'', ''updated_at''];
Además, la $table
field debe contener solo el nombre de la tabla del modelo:
protected $table = ''your_table_name'';
Se puede rellenar toda la columna:
protected $guarded = array();
Añade tu modelo.
Si todo lo anterior falla, puedes intentar seguirlo.
Ponga lo siguiente después de espacio de nombres.
use Eloquent;
Ponga lo siguiente al inicio de su método de store
.
Eloquent::unguard();
me gusta:
public function store(Request $request)
{
Eloquent::unguard();
$inputs = $request->all();
$contacts = Contacts::Create($inputs);
return redirect()->route(''contacts.index'');
}
Sin embargo, esto no se recomienda, ya que hace que las cosas sean vulnerables a los ataques. Pero si necesita una solución rápida, esto podría ayudar.