我有这个fetch函数,如果没有用户被选中,它会获取完整的提要,如果有用户被选中,它会获取特定用户的提要。
public function fetch(): void
{
if ($this->userToShowFeedFor == null) {
$this->tweets = Tweet::with('user')->withCount('likes')->get();
} else {
$this->tweets = $this->userToShowFeedFor->tweets;
}
}
字符串
在我的刀片模板中,我有:
@if (!$userToShowFeedFor)
<a wire:navigate href="{{ route('userpage', ['user' => $tweet->user]) }}"
class="text-gray-600 cursor-pointer underline">u/{{ $tweet->user->username }}</a>
@else
<p class="inline text-gray-600 ">u/{{ $tweet->user->username }}</p>
@endif
型
尽管使用with('user')
,我仍然得到这个错误。
的数据
我甚至使用tinker来确保我没有在引擎盖下做任何糟糕的SQL查询,它看起来都很好。
的
2条答案
按热度按时间j2cgzkjk1#
在您的应用中检查结构
Model::preventLazyLoading
,通常在 AppServiceProvider 类的 * Boot * 方法中设置。如果设置了它,当你尝试延迟加载一个模型时,会抛出一个异常。
这里的文档
owfi6suc2#
我认为运行时代码与你预期的不同,我认为它在那个异常上遇到了else情况,你能试着在最后添加
load('user')
吗?字符串
load的工作原理与with相同,但它是懒惰的渴望加载,在您获得结果后,您可以检查文档