模型函数内的 Laravel orm 数据库查询

Vam*_*Vam 5 php mysql laravel-5 laravel-eloquent

我是 Laravel 的新手。我想在与数据库查询相关的模型中创建一些自定义函数。

Class A Extends Controller{
  public function view(){
    B::get_user();
  }
}

Class B Extends Model{
  protected $table = "user";

  public function get_user(){
    //Here is my database query
  }
}
Run Code Online (Sandbox Code Playgroud)

如何在 get_user() 函数中使用数据库查询?我知道这个方法:

B::table('user')->get();
Run Code Online (Sandbox Code Playgroud)

Ami*_*pta 5

您可以定义scopes用于在模型上添加查询的查询:

public function scopeUser($query)
{
    return $query->where('some_field', 'some_value');
}
Run Code Online (Sandbox Code Playgroud)

然后你可以在你的控制器中使用它:

B::user()->get();
Run Code Online (Sandbox Code Playgroud)

文档