我有一个令人困惑的问题,我似乎无法弄清楚。我试图从一个按钮加载一个网页,但它一直弹出错误的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
}
这是我收到的堆栈跟踪(出于某种原因,它没有出现在我的错误日志中,所以我只有屏幕截图)
发布于 2017-10-07 10:20:49
正如在上面的评论中讨论的那样。罪魁祸首被缩小到一条冲突的路线。
Route:something('/schedule', ...)
之前被发现过
Route::get('/schedule/availability', 'ScheduleController@getAvailabilityCalendar');
并且Route:something
在所需的路由之前触发。应该注意的是,首先定义的路由将是第一个提供服务的路由。这就是为什么应该将Route:resource
放在您的自定义Route:get
或其他路由之后,以避免混淆。
列表中的下一项当更改路由但未更新时,通常会触发php artisan route:clear
。它将清除路由缓存-可以在文档中签入。
https://stackoverflow.com/questions/46615744
复制相似问题