习惯了用原生的MySQL去多表查询,碰到laravel框架封装好的一些常用方法用起来还不是很顺手,记忆性差也只能通过写笔记来记录一下,laravel用到了命名空间,不管在控制器或者模型的文件的,都要先进行引入命名空间,再引入需要的类,laravel默认表名都是带有s后缀的,控制器和模型的命名统一不带后缀s
控制器UserController
namespace App\Http\UserController;
use App\Model\Users; //引入用户对应的模型
class UserController extend Controller{
public function __construct(User $model){
$this->model = $model;
}
public function usersList(){
$this->model
->join('表名tb1',function($join){
$join->on('users.id','=','tb1.id'); //关联id
})->select('users.id','users.name','tb1.age')
->where('id','>',3)
->orderBy('id','desc')
->paginate(10每页显示的数量)
->toArray();//转成数组
}
}
模型User
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model{
public $timestamps = false;//关闭laravel自带更新created_at,updated_at,deleted_at的操作
protected $fillable = [
'id' ,
'name',
.....
字段名
];
}
}