Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 没有dd()时,Laravel blade显示错误,但可以使用它_Php_Laravel_Collections_Blade - Fatal编程技术网

Php 没有dd()时,Laravel blade显示错误,但可以使用它

Php 没有dd()时,Laravel blade显示错误,但可以使用它,php,laravel,collections,blade,Php,Laravel,Collections,Blade,我有代码来检查pivot表中是否有用户id,以及是否有检查他是向上投票还是向下投票(1或-1) {{$post->vote->where('id',$user->id)->first()->pivot->vote} 但由于某些原因,这将不起作用,即使它在我死后转储时在控制器中起作用,或者当它在dd()中时甚至在刀片文件中起作用。编辑:错误为“正在尝试获取非对象的属性‘pivot’”。如何解决此问题?您需要先检查是否有任何投票,然后可以使用pivot->vote,一行就可以使用helper方法实现

我有代码来检查pivot表中是否有用户id,以及是否有检查他是向上投票还是向下投票(1或-1)
{{$post->vote->where('id',$user->id)->first()->pivot->vote}


但由于某些原因,这将不起作用,即使它在我死后转储时在控制器中起作用,或者当它在dd()中时甚至在刀片文件中起作用。编辑:错误为“正在尝试获取非对象的属性‘pivot’”。如何解决此问题?

您需要先检查是否有任何投票,然后可以使用
pivot->vote
,一行就可以使用helper方法实现这一点

{{ optional($post->votes->where('id', $user->id)->first()->pivot)->vote }}

还要确保您已从控制器加载了
投票
关系的
$post

收藏中的某些项目必须为空,这就是您收到错误的原因。首先,您应该检查是否有符合该条件的投票

if ($post->votes->where('id', $user->id)->first()) {
    // do stuff
}
然后还要检查
pivot
属性,例如

$post = $post->votes->where('id', $user->id)->first();
if ($post && $post->pivot) {
    echo $post->pivot->vote;
}

您是否尝试过转储
$post->vots->where('id',$user->id)->first()
?似乎是empty@devnullψ它不是空的,我试过了。就像我说的,在dd(…)中它显示了1(就像它应该显示的那样),但是没有dd()它就不能工作。您通过循环迭代它吗?再加一些code@devnull控制器中的ψ
$posts=Post::with(['user','category','favorites','vowers'])->分页(10)
然后我将
$posts
发送到posts.blade.php,在那里我迭代它们
@foreach($posts为$post)
转储
$posts
,并检查集合的每个项是否都有pivot属性,并且它不是空的。我确信他们中的一些人“试图获得非标的财产‘投票权’”。我确实加载了VoteSook,扩展了
可选
以包括
透视
属性,然后尝试,我用一个例子更新了我的答案我确实尝试过,现在它显示了“尝试获取非对象的属性‘透视’”,当你扩展
可选
以包括
透视
时,它也抛出了相同的错误?是的,同样的错误,但第一次,只有第一次说“投票”,第二次说“枢轴”