控制器里写了一个方法:
public function edit($id)
{
$question = $this->questionRepository->byId($id);
if (Auth::user()->owns($question)) {
return view('questions.edit',compact('question'));
}
return back();
//return view('questions.edit', compact('question'));
}
里面的owns是自己定义的,再user里面:
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
public function owns(Model $modle)
{
return $this->id == $model->user_id;
}
}
就会报错:"Type error: Argument 1 passed to AppUser::owns() must be an instance of AppModel, instance of AppQuestion given
。。。。owns方法要传AppModel实例啊,你传了AppQuestion实例