laravel类型错误:传递给Illumb\Database\Eloquent\Model::save()的参数1必须是给定对象的数组类型
我有一个实体,每个实体都有一个地址 我有两个具有关系的表,例如: 实体:laravel类型错误:传递给Illumb\Database\Eloquent\Model::save()的参数1必须是给定对象的数组类型,laravel,laravel-5,eloquent,Laravel,Laravel 5,Eloquent,我有一个实体,每个实体都有一个地址 我有两个具有关系的表,例如: 实体: protected $table = 'entities'; public $timestamps = true; use Searchable; public function address() { return $this->hasOne('App\Address', 'entity_id'); } 地址: protected $table = 'address'; public $timesta
protected $table = 'entities';
public $timestamps = true;
use Searchable;
public function address()
{
return $this->hasOne('App\Address', 'entity_id');
}
地址:
protected $table = 'address';
public $timestamps = true;
public function entity()
{
return $this->belongsTo('App\Entity', 'id');
}
和我的控制器:
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);
}
错误消息是:
类型错误:传递给Illumb\Database\Eloquent\Model::save()的参数1必须是数组类型,给定对象,在第146行的C:\xampp\htdocs\laravel\app\Http\Controllers\EntityController.php中调用
如何解决这个问题?我认为您只需要使用
save()
方法,而不需要任何参数。我已经用同样的结构在php artisan tinker中试用过了。在出现相同错误后,我尝试删除save()
方法中的$entity
参数:
//更新后,应仅使用save()而不使用save($entity)
$entity->address->save();
我希望我能为您的问题给出正确的答案:-D我认为您只需要使用
save()
方法,而不需要任何参数。我已经用同样的结构在php artisan tinker中试用过了。在出现相同错误后,我尝试删除save()
方法中的$entity
参数:
//更新后,应仅使用save()而不使用save($entity)
$entity->address->save();
我希望我能对你的问题给出正确的答案