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. node.js - nodejs中mysql子查询返回多行结果怎么处理?2. python - pandas按照列A和列B分组,将列C求平均数,怎样才能生成一个列A,B,C的dataframe3. javascript - 我写的href跳转地址不是百度,为什么在有的机型上跳转到百度了,有的机型跳转正确4. 关于python切片的问题5. mysqldb - MAC OS安装MySQL-python总是失败,请帮忙看看什么原因?6. python3.x - python中import theano出错7. mysql - spring data jpa 方法sql复杂查询?8. node.js - 微信的自动回复问题9. python - mysql 如何设置通用型字段? 比如像mongodb那样10. python - 如何给模块传参数,参数是模块的函数名?