本文实例讲述了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