error - excepciones en laravel
laravel Tipo de error: El argumento 1 pasado a Illuminate / Database / Eloquent / Model:: save() debe ser del tipo array, objeto dado (1)
Creo que solo necesitas usar el método save()
sin ningún parámetro. Lo he probado en php artisan tinker
con la misma estructura. Y después de obtener el mismo error, trato de eliminar el parámetro $entity
dentro del método save()
:
// After update, you should only use save() not save($entity)
$entity->address->save();
Espero darte la respuesta correcta para tu problema :-D
Tengo una entidad y cada entidad tiene una dirección.
Tengo 2 tablas con una relación como:
Entidad:
protected $table = ''entities'';
public $timestamps = true;
use Searchable;
public function address()
{
return $this->hasOne(''App/Address'', ''entity_id'');
}
Dirección:
protected $table = ''address'';
public $timestamps = true;
public function entity()
{
return $this->belongsTo(''App/Entity'', ''id'');
}
y mi controlador:
public function update(EntityRequestUpdate $request)
{
$id = $request->input(''entity_id'');
$entity = Entity::with(''address'')
->find($id);
$entity->name = $request->input(''name'');
$entity->type = $request->input(''type'');
$entity->email = $request->input(''email'');
$entity->twitter_entity = $request->input(''twitter'');
$entity->facebook_entity = $request->input(''facebook'');
$entity->instagram_entity = $request->input(''instagram'');
$entity->google_places = $request->input(''google'');
$entity->address->building_name = $request->input(''address1'');
$entity->address->street = $request->input(''address2'');
$entity->address->town = $request->input(''town'');
$entity->address->city = $request->input(''city'');
$entity->address->postcode = $request->input(''postcode'');
$entity->address->telephone = $request->input(''telephone'');
$entity->address->save($entity);
$entity->save();
$result = $entity->save();
if($result){
$message = ''success'';
}else{
$message = ''error'';
}
return redirect()->back()->withInput()->with(''message'', $message);
}
Un mensaje de error es:
Tipo de error: el argumento 1 pasado a Illuminate / Database / Eloquent / Model :: save () debe ser del tipo array, objeto dado, llamado en C: / xampp / htdocs / laravel / app / Http / Controllers / EntityController.php on línea 146
¿Cómo puedo resolver este problema?