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. vim - docker中新的ubuntu12.04镜像,运行vi提示,找不到命名.2. 请问是对象还是数组3. java - socket类服务端如何防止被ddos攻击?4. mysql问题,查询两个表5. mysql - 我用SQL语句 更新 行的时候,发现全部 中文都被清空了,请问怎么解决?6. python - ulipad爬网页时中文为何是16进制?7. css - html根字体设置成很大的值后, 包裹了行内元素的div莫名变高是什么原因8. MYSQL 的 SELECT 语句中如何做到判断字段为空9. python - 如何使用websocket在网页上动态示实时数据的折线图?10. javascript - js中关于闭包的问题,昨晚纠结到了现在,已经快死了
