laravel ORM 一对一 一对多 多对多 原生的MYSQL怎么写?
问题描述
laravel ORM 一对一、一对多、多对多、原生的MYSQL怎么写?laravel ORM 的with原理是什么?如题
问题解答
回答1:class User extends Model{public function Roles() {return $this->hasOne('AppRole', ’user_id’, ’id’); }}class Message extends Model{public function User() {return $this->belongsTo('AppUser', ’user_id’, ’id’); }}//Controller 输出sql看DB::listen(function($sql,$binds){ dump($sql,$binds);});$role = User::find(1)->Roles;//一对多类似//select * from `users` where `id` = 1 limit 1 ;//select * from `roles` where `user_id` = 1 limit 1 ; $mess = Message::with(’User’)->where(’type’,$type)->get();//select *from messages where type=?; 查询出用户id列表//select * from `users` where `id` in (?);根据id列表查询用户信息
相关文章:
1. dockerfile - 为什么docker容器启动不了?2. python3.x - python多线程如何修改数据?3. 登录界面URL在服务器上无法找到4. docker-compose 为何找不到配置文件?5. angular.js使用$resource服务把数据存入mongodb的问题。6. mysql - 数据库中的引擎和表的引擎的区别在哪?7. sublime-text - sublime text 3中编译python(sublimeREPL),如何仅运行单行/选定部分8. css - width设置为100%之后列表无法居中9. javascript - 关于jquery的ajax post数据的问题10. mysql新建字段时 timestamp NOT NULL DEFAULT ’0000-00-00 00:00:00’ 报错

网公网安备