本文实例讲述了Laravel5.1 框架模型查询作用域定义与用法。分享给大家供大家参考,具体如下:
所谓的查询作用域就是允许你自定义一个查询语句 把它封装成一个方法。
1 定义一个查询作用域
定义查询作用域就是在模型中声明一个scope开头的方法:
1
2
3
4
|
public function scopeHotArticle( $query ) { return $query ->orderBy( 'comment_count' , 'desc' )->first(); } |
然后可以这样使用:
1
2
3
4
5
|
public function getIndex() { $hot = Article::hotArticle(); dd( $hot ); } |
2 动态的查询作用域
动态作用域是允许你传入参数的,根据参数来返回具体的逻辑。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public function scopeCommentMoreThan( $query , $comment ) { return $query ->where( 'comment_count' , '>' , $comment ); } public function getIndex() { $articles = Article::commentMoreThan(10)->orderBy( 'comment_count' , 'desc' )->get(); foreach ( $articles as $article ){ echo $article ->title . ' ' . $article ->comment_count; echo "<br />" ; } } |
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/sun-kang/p/7523563.html