如何在Laravel中将SQL查询转换为雄辩

时间:2019-04-12 11:24:39

标签: laravel eloquent

如何将sql转换为eoquent

openssl pkeyutl -verify -inkey public.key -sigfile signature -pkeyopt digest:sha256 -in input_hash -pubin  

帮助解决此问题

3 个答案:

答案 0 :(得分:0)

我希望您已经创建了Requirement,Location和RequirementLocation模型

因此,首先将此代码添加到Requirement.php模型文件中:

public function locations()
{
    return $this->hasMany('RequirementLocation', 'requirement_locations');
}

Then access the requirements like this :

$requirement = Requirement::where('id', $requirement_id)->first();

Now you can access locations like this :

$requirement->locations;

答案 1 :(得分:0)

您也可以对SQL原始查询使用雄辩的方式:

$activeusers = User::selectRaw('users.name, count(*) submitted_games')
    ->join('games', 'games.user_id', '=', 'users.id')
    ->groupBy('users.name')
    ->orderBy('submitted_games', 'DESC')
    ->get();

要将最近运行的查询输出到屏幕,可以使用以下命令:

dd(DB::getQueryLog());

答案 2 :(得分:0)

比方说,我们有一个雄辩的模型,名为Requirement,我们有一个与该模型相关联的数据库表,名为requires,还有另一个模型,名为requirementLocation,与一个名为require_locations的数据库表相关联。

,并且根据requirement_id,两个表“ requirements”和“ requirement_locations”之间都有一个数据库关系

需求模型:

class Requirement extends Model{
  protected $table = 'requirements';
}

RequirementLocation模型:

class RequirementLocation extends Model{
  protected $table = 'requirement_locations';
}

现在我们需要在这两个模型之间建立关系,例如数据库表..因此,在需求内,我们将使用很多关系

use App\RequirementLocation;

class Requirement extends Model{
  protected $table = 'requirements';

  public function locations(){
     return $this->hasMany(RequirementLocation::class);
  }
}

只需使用

即可获取数据
$id = 1;
$getAllRequirementRecord = Requirement->whereHas('locations' , function($query){
   $query->where('isdelete',2);

})->where('id',$id)->with('locations')->get();