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. docker鏡像push報錯2. javascript - 如何獲取未來元素的父元素在頁面中所有相同元素中是第幾個?3. 百度地圖api - Android百度地圖SDK,MapView上層按鈕可見卻不可觸,怎么解決?4. linux運維 - python遠程控制windows如何實現5. 關于Java引用傳遞的一個困惑?6. angular.js - 不適用其他構建工具,怎么搭建angular1項目7. javascript - 分類編輯保留之前分類名稱8. javascript - canvas 裁剪空白區域9. javascript - 后端傳過來的數據格式是這樣,如何使用?10. 如何分別在Windows下用Winform項模板+C#,在MacOSX下用Cocos Application項目模板+Objective-C實現一個制作游戲的空的黑窗口?
