我有一个令人困惑的问题,我似乎无法弄清楚。我正在尝试从按钮加载网页,但它会不断弹出错误No query results for model [App\Schedule]
。我不知道为什么会这样做,因为在尝试加载网页时我无法访问该模型。以下是我到目前为止(这是一项正在进行的工作)
这是链接:
<a class="btn btn-primary" role="button" href="/schedule/availability">Set Availability</a>
这是路线:
Route::get('/schedule/availability', 'ScheduleController@getAvailabilityCalendar');
这是ScheduleController内部的方法:
public function getAvailabilityCalendar(){
$dt = Carbon::now('America/Los_Angeles');
$return['DayOfWeek'] = $dt->dayOfWeek;
$return['DisplayDays'] = (($dt->daysInMonth + $return['DayOfWeek'] + 1) <= 35) ? 34:41;
return view('contractors.availability', compact('return'));
}
以下是返回的视图:
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>Sunday </th>
<th>Monday </th>
<th>Tuesday </th>
<th>Wednesday </th>
<th>Thursday </th>
<th>Friday </th>
<th>Saturday </th>
</tr>
</thead>
<tbody>
<tr>
@for ($i = 0, $j=-$return['DayOfWeek']; $i <= $return['DisplayDays']; $i++, $j++)
@if($i < $return['DayOfWeek'])
<td></td>
@else
@if($i %7 == 0)
</tr><tr>
@endif
@if($j < 30)
<td>{{\Carbon\Carbon::now('America/Los_Angeles')->addDays($i-$return['DayOfWeek']+1)->format('F jS')}}
<hr>
<div class="form-group">
<label data-toggle="popover" data-trigger="hover" data-content="Add Times available in the following format: 10:00am-4:00pm. You may also add multiple blocks of time separated by comma. Example: 10:00am-12:00pm, 2:00pm-4:00pm">Available Time</label>
<input type="text" class="form-control availability" />
</div>
<div class="checkbox">
<label>
<input type="checkbox" class="all-day-check" />All Day</label>
</div>
</td>
@else
<td></td>
@endif
@endif
@endfor
</tr>
</tbody>
</table>
</div>
<script>
$(document).on('change', '.all-day-check', function(){
if (this.checked) {
$(this).closest("input.availability").prop("disabled", true);
}else{
$(this).closest("input.availability").prop("disabled", false);
}
});
</script>
我无法找到需要引用App \ Schedule模型的任何地方,这是我项目中的模型。我完全不知道它可能是什么,或者为什么它试图运行我从未要求它运行的东西。
编辑:路由文件中也没有/schedule/availability
的其他实例,我进行了三次检查。
更新:这是ScheduleController的构造函数:
public function __construct()
{
$this->middleware('auth'); //Check is user is logged in
}
这是我收到的堆栈跟踪(出于某种原因,它没有显示在我的错误日志中,因此我只有屏幕截图)
答案 0 :(得分:0)
正如上面评论中的讨论所示。罪魁祸首缩小到相互冲突的路线。
Route:something('/schedule', ...)
之前被发现
Route::get('/schedule/availability', 'ScheduleController@getAvailabilityCalendar');
并且Route:something
在所需路线之前触发。应该注意的是,首先定义的路线将是第一个服务的路线。这就是为什么Route:resource
应该放在您的自定义Route:get
或其他路线之后以避免混淆的原因。
更改路线时列表中的下一项但未更新,alwasy触发php artisan route:clear
。它将清除路由缓存 - 可以检查文档。