在Laravel 5.1中订购时出现问题。我是Laravel的新手,我的PHP技能并不好。
当我使用查询构建器进行排序时,它可以运行
$posts = DB::table('posts')
->where('post_status', 'draft')
->where('post_type', 'post')
->orderBy('post_date', 'asc')
->get();
当我尝试使用Eloquent时,它不会像
那样$posts = Post::query()
->where('post_status', 'draft')
->where('post_type', 'post')
->orderBy('post_date', 'asc')
->get();
任何想法我做错了什么?
编辑:我发现了问题。我正在使用jgrossi / corcel,它已经在它的Builder中订购了。所以我无法从控制器那里做到这一点。
答案 0 :(得分:1)
Corcel创作者: - )
将Corcel与Laravel 5+一起使用时,您必须包含Corcel\Post
这样的名称空间来引用Post
类。如果要设置自己的连接名称:
class Post extends Corcel\Post {
protected $connection = 'connection-name';
}
是的! Post
构建器已经对帖子进行了排序: - )
任何问题只是问!最诚挚的问候和感谢使用Corcel。
答案 1 :(得分:0)
删除query()
表达式:
$posts = Post::where('post_status', 'draft')
->where('post_type', 'post')
->orderBy('post_date', 'asc')
->get();
希望这有帮助。
答案 2 :(得分:0)
您是否为模型添加了名称空间?上一个答案应该可以正常使用
答案 3 :(得分:-2)
你添加
use App\Post;
粘贴异常也许是个好主意 .. 我对Laravel知道的一件事......如果它在修补工作并且不能正常工作,那么错误就在控制器或视图中...所以检查修补程序