为了账号安全,请及时绑定邮箱和手机立即绑定

laravel 5.4 使用模型获取数量的时候报错

laravel 5.4 使用模型获取数量的时候报错

PHP
超级无敌大坏蛋 2017-09-30 10:57:53
<?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);         //专题的文章列表,按照创建时间倒叙排列,前10个         $posts = $topic->posts()->orderBy('created_at','desc')->take(10)->get();         //属于我的文章,但是未投稿         $myposts = \App\Post::authorBy(\Auth::id())->topicNotBy($topic->id)->get();         return view('topic/show',compact('topic','posts','myposts'));     } }<?php namespace App; use App\Model; class Topic extends Model {     //属于这个专题的所有文章     public function posts()     {         $this->belongsToMany(\App\Post::class,'post_topics','topic_id','post_id');     }     //专题的文章数     public function postTopics()     {         $this->hasMany(\App\PostTopic::class,'topic_id');     } }<?php namespace App; use Laravel\Scout\Searchable; use Illuminate\Database\Eloquent\Builder; class Post extends Model {         //属于某个作者的文章     public function scopeAuthorBy(Builder $query,$user_id)     {         return $query->where('user_id',$user_id);     }     public function postTopics()     {         return $this->hasMany(\App\PostTopic::class,'post_id','id');     }     //不属于某个专题的文章     public function scopeTopicNotBy(Builder $query,$topic_id)     {         return $query->doesntHave('postTopics','and',function ($q) use ($topic_id){             $q->where('topic_id',$topic_id);         });     } }
查看完整描述

2 回答

?
周彪彪

TA贡献6条经验 获得超1个赞

你搞什么,该return的没有,不该的return,scope不需要return,关联的要return!!!

查看完整回答
反对 回复 2017-10-13
  • 2 回答
  • 0 关注
  • 2003 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信