首页 > 解决方案 > 是否可以使用 Laravel 在带有查询构建器的模型中工作?

问题描述

我想知道是否可以使用查询生成器在模型中工作以在两个表之间建立连接,我不想使用 eloquent

这是我的模型

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use DB;

class Tbl_Perimetro extends Model
{
puplic function perimetros(){
$carteras = DB::table('tbl_perimetros')
        ->join('tbl_equipo_postventaatcs', 'tbl_equipo_postventaatcs.id', '=', 'tbl_perimetros.postventaatc_id')
        ->join('tbl_lista_carteras', 'tbl_equipo_postventaatcs.carteras_id', '=', 'tbl_lista_carteras.id')
        ->get();

return $carteras;
}
}

标签: laraveleloquentlaravel-query-builder

解决方案


如果您只想使用查询生成器,您可以这样做。但我真的建议使用雄辩的方法。此外,查看模型的 mutators、appends 和 scopes 选项也很重要,这些选项可以帮助您,而不仅仅是查询构建器。

其他约会:

  • DB::table('tbl_perimetros')$this在这个模型中可以替换为
  • 不要忘记return方法。
  • 尝试protect $appends = ['perimetros']重命名方法以getPermietrosAttribute将 perimetros 作为模型对象中的项目返回。

推荐阅读