我一直在努力让存储库模式用于抽象数据库和测试目的。我现在已经尝试了半天,让它运转起来。我只得到一个空白的屏幕(根本没有发送内容)没有错误。 似乎使用存储库模式:
或者我只是愚蠢
class EloquentSurveyRepository implements SurveyRepositoryInterface
{
protected $surveyModel;
public function __construct(Survey $survey)
{
$this->surveyModel = $survey;
}
public function all()
{
return $this->surveyModel->all();
}
}
interface SurveyRepositoryInterface
{
public function all();
}
class DashboardController extends BaseController
{
protected $surveys;
public function __construct(SurveyRepositoryInterface $survey)
{
$this->surveys = $survey;
}
public function getDashboardJson()
{
$surveys = $this->surveys->all();
dd($surveys);
}
}
App::bind('SurveyRepositoryInterface', 'EloquentSurveyRepository');
任何帮助都会很棒......
编辑:调查模型
class Survey extends EloquentSurveyRepository {
protected $table = 'lime_surveys';
protected $primaryKey = 'sid';
public function surveyls() {
return $this->hasOne('Surveyls', 'surveyls_survey_id');
}
}
答案 0 :(得分:2)
我认为这里的问题是你的Survey
模型。现在你有:
class Survey extends EloquentSurveyRepository {
它应该扩展Eloquent:
class Visit extends Eloquent {
你也可以尝试debug
到你的环境true
获取更多信息(可能你可以在这里找到例如maximum nested function level reached
)。