繁体   English   中英

当不调用模型时,Laravel“模型[App \\ Schedule]没有查询结果”错误

[英]Laravel “No query results for model [App\Schedule]” error when not calling model

我有一个困惑的问题,似乎无法解决。 我正在尝试通过按钮加载网页,但它不断弹出错误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
  }

这是我收到的stacktrace(由于某种原因,它没有显示在我的错误日志中,所以我只有屏幕截图)

在此处输入图片说明

事实证明,上面的评论在讨论中。 罪魁祸首被缩小到冲突的路线。

 Route:something('/schedule', ...)

被发现之前

 Route::get('/schedule/availability', 'ScheduleController@getAvailabilityCalendar');

Route:something会在所需路线之前触发。 应该注意的是,首先定义的路由将是第一个服务的路由。 这就是为什么将Route:resource放在自定义Route:get或其他路由之后以避免混淆的原因。

更改路线但未更新时列表中的下一项,可以触发php artisan route:clear 它将清除路由缓存-可以签入文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM