laravel ORM 一对一 一对多 多对多 原生的MYSQL怎么写?
本文介绍了laravel ORM 一对一 一对多 多对多 原生的MYSQL怎么写?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
laravel ORM 一对一、一对多、多对多、原生的MYSQL怎么写?
laravel ORM 的with原理是什么?
如题
解决方案
class User extends Model{
public function Roles()
{
return $this->hasOne("App\Role", 'user_id', 'id');
}
}
class Message extends Model{
public function User()
{
return $this->belongsTo("App\User", '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列表查询用户信息
这篇关于laravel ORM 一对一 一对多 多对多 原生的MYSQL怎么写?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文