【发布时间】:2015-03-05 08:35:11
【问题描述】:
public function booksdislikedbyUser()
{
return $this->hasMany('Userattitude')->where('attitude', '-1')->where('creator_id', Auth::user()->id)->where('item_type', 'entitycreation')->selectRaw('count(IF(attitude = -1,0,1)) as dislikedbooks')->groupBy('entity_id');
}
在我的 foreach 循环中,我只是放了:
@foreach($rank_entities_by_capacity as $o)
{{$o->booksdislikedbyUser}}
我收到了正确的值,但它被括号括起来:
[{"dislikedbooks":1}]
而期望的结果应该是
1
如果没有找到记录,我只看到 []
我尝试了这些更改:
-
删除
IF子句->selectRaw('count(IF(attitude = -1,0,1))
这没有效果。
-
为
selectRaw添加额外的项目->selectRaw(attitude, 'count(IF(attitude = -1,0,1) as dislikedbooks)
效果:我收到了这个:
[{"attitude":1,"dislikedbooks":2}]
尝试 #3: 我试过这个
$o->misdeeds
但没有生成任何东西。
尝试 #4:
我试过这个:
{{$o->misdeedsagainstUser or 'still not working'}}
猜猜看……我明白了
still not working
作为我的输出
待办事项: 如何从输出中删除除值之外的所有内容?
提示: 我在某处读到问题是由事实引起的,结果是一个集合,而不是一个整数
【问题讨论】:
-
你有没有看过我在你的另一个问题上写的最后一条评论?
-
是的,但它没有输出。不过,它不会真的很优雅。我刚刚在某处发现了一个提示 - 括号被打印,因为变量包含数据作为一个集合
标签: laravel eloquent relationship brackets