将经过身份验证的User对象传递给Laravel中的对象构造函数,表示没有给出

时间:2015-12-07 03:37:22

标签: php oop laravel constructor laravel-5

我遇到了一个问题,我无法用laravel包裹我的头。

我正在尝试使用构造函数中指定的User对象创建对象的新实例。我正在将Auth :: user()传递给它,但它似乎无法正常工作。

以下是我的代码示例:

public function requestStudentProject($id)
{       

    $student_request = new StudentRequest(Auth::user());
    $student_request->requestProject($id);
}

这是我班级的片段:

namespace App;

use Illuminate\Database\Eloquent\Model;
use App\User;

class StudentRequest extends Model{

protected $table = 'student_project_requests';

protected $user;

public function __construct(User $user)
{
    $this->user=$user;
}

这给了我一个错误:

Argument 1 passed to App\StudentRequest::__construct() must be an instance of App\User, none given, called in /home/vagrant/w3students/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php on line 986 and defined

有人可以帮忙吗?我一直试图绕着这几个小时。谢谢!

0 个答案:

没有答案
相关问题