请问在专题模块11-8使用scope完成专题详情页逻辑这里出现了错误怎么解决啊
来源:11-8 使用scope等完成专题详情页逻辑

ziruiding
2019-04-12
错误提示:
(1/1) FatalThrowableError
Call to a member function getRelationExistenceCountQuery() on null
in QueriesRelationships.php line 208
at Builder->withCount(array('postTopics'))
in Model.php line 1374
at Model->__call('withCount', array('postTopics'))
in Model.php line 1386
at Model::__callStatic('withCount', array('postTopics'))
in TopicController.php line 14
at TopicController->show(object(Topic))
at call_user_func_array(array(object(TopicController), 'show'), array('topic' => object(Topic)))
in Controller.php line 55
at Controller->callAction('show', array('topic' => object(Topic)))
in ControllerDispatcher.php line 44
at ControllerDispatcher->dispatch(object(Route), object(TopicController), 'show')
in Route.php line 203
at Route->runController()
in Route.php line 160
at Route->run()
in Router.php line 572
at Router->Illuminate\Routing\{closure}(object(Request))
in Pipeline.php line 30
at Pipeline->Illuminate\Routing\{closure}(object(Request))
in SubstituteBindings.php line 41
at SubstituteBindings->handle(object(Request), object(Closure))
in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))
in VerifyCsrfToken.php line 65
at VerifyCsrfToken->handle(object(Request), object(Closure))
in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))
in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure))
in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))
in StartSession.php line 64
at StartSession->handle(object(Request), object(Closure))
in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))
in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure))
in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))
in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure))
in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))
in Pipeline.php line 102
at Pipeline->then(object(Closure))
in Router.php line 574
at Router->runRouteWithinStack(object(Route), object(Request))
in Router.php line 533
at Router->dispatchToRoute(object(Request))
in Router.php line 511
at Router->dispatch(object(Request))
in Kernel.php line 176
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
in Pipeline.php line 30
at Pipeline->Illuminate\Routing\{closure}(object(Request))
in TransformsRequest.php line 30
at TransformsRequest->handle(object(Request), object(Closure))
in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))
in TransformsRequest.php line 30
at TransformsRequest->handle(object(Request), object(Closure))
in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))
in ValidatePostSize.php line 27
at ValidatePostSize->handle(object(Request), object(Closure))
in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))
in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
in Pipeline.php line 148
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request))
in Pipeline.php line 102
at Pipeline->then(object(Closure))
in Kernel.php line 151
at Kernel->sendRequestThroughRouter(object(Request))
in Kernel.php line 116
at Kernel->handle(object(Request))
in index.php line 53
at require_once('/Users/dingzirui/Documents/zirui/codes/laravel54/public/index.php')
in server.php line 21
源代码:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Topic;
class TopicController extends Controller
{
// 专题详情页
public function show(Topic $topic)
{
// 带文章数的专题
$topic = Topic::withCount('postTopics')->find($topic->id);
// 专题的文章列表,按照创建时间倒序排列,前十个
$posts = $topic->posts()->orderBy('created_at','desc')->take(10)->get();
return view('topic/show',compact('topic','posts'));
}
// 投稿
public function submit(Topic $topic)
{
return;
}
}
写回答
1回答
-
轩脉刃
2019-04-15
错误像是你这个topic->id 数据库中是没有的。所以从null里面获取postTopics的数量报错。你确定你这个topicid在数据库中存在么
012019-09-17
相似问题