คำถามติดแท็ก eloquent

Eloquent ORM ที่มาพร้อมกับ Laravel มอบการใช้งาน ActiveRecord ที่สวยงามและเรียบง่ายสำหรับการทำงานกับฐานข้อมูลของคุณ ตารางฐานข้อมูลแต่ละตารางจะมี "Model" ที่สอดคล้องกันซึ่งใช้ในการโต้ตอบกับตารางนั้น แบบจำลองช่วยให้คุณสามารถสอบถามข้อมูลในตารางของคุณรวมทั้งแทรกระเบียนใหม่ลงในตาราง

20
รับ Query Executioned ใน Laravel 3/4
ฉันจะดึงเคียวรี SQL ที่ถูกเรียกใช้งานดิบใน Laravel 3/4 โดยใช้ Laravel Query Builder หรือ Eloquent ORM ได้อย่างไร ตัวอย่างเช่นสิ่งนี้: DB::table('users')->where_status(1)->get(); หรือ: (posts (id, user_id, ...)) User::find(1)->posts->get(); มิฉะนั้นอย่างน้อยที่สุดฉันจะสามารถบันทึกคิวรีทั้งหมดที่ดำเนินการไปยัง laravel.log ได้อย่างไร

13
การสร้างและอัพเดต Laravel Eloquent
ชวเลขที่จะแทรกเร็กคอร์ดใหม่หรือการปรับปรุงถ้ามันอยู่คืออะไร? <?php $shopOwner = ShopMeta::where('shopId', '=', $theID) ->where('metadataKey', '=', 2001)->first(); if ($shopOwner == null) { // Insert new record into database } else { // Update the existing record }

15
เลือกแถวสุดท้ายในตาราง
ผมอยากจะเรียกไฟล์ที่ผ่านมาแทรกลงในตารางของฉัน ฉันรู้ว่าวิธีการนี้first()มีอยู่และให้ไฟล์แรกในตารางแก่คุณ แต่ฉันไม่ทราบวิธีรับส่วนแทรกครั้งล่าสุด
163 laravel  eloquent 

11
การแทรกจำนวนมากใน Laravel โดยใช้ eloquent ORM
เราจะทำการแทรกฐานข้อมูลจำนวนมากใน Laravel โดยใช้ Eloquent ORM ได้อย่างไร ฉันต้องการทำสิ่งนี้ให้สำเร็จใน Laravel: https://stackoverflow.com/a/10615821/600516 แต่ฉันได้รับข้อผิดพลาดดังต่อไปนี้ SQLSTATE [HY093]: หมายเลขพารามิเตอร์ไม่ถูกต้อง: พารามิเตอร์ที่มีชื่อและตำแหน่งผสม

10
Laravel Eloquent“ ไม่ได้อยู่ที่ไหน”
laravel eloquent ORMฉันมีปัญหาในการเขียนแบบสอบถามใน คำถามของฉันคือ SELECT book_name,dt_of_pub,pub_lang,no_page,book_price FROM book_mast WHERE book_price NOT IN (100,200); ตอนนี้ฉันต้องการแปลงข้อความค้นหานี้เป็นคำพูดที่คมคาย

8
ตรวจสอบ Laravel ว่ามีตัวแบบที่เกี่ยวข้องหรือไม่
ฉันมีรูปแบบ Eloquent ซึ่งมีรูปแบบที่เกี่ยวข้อง: public function option() { return $this->hasOne('RepairOption', 'repair_item_id'); } public function setOptionArrayAttribute($values) { $this->option->update($values); } เมื่อฉันสร้างแบบจำลองมันไม่จำเป็นต้องมีโมเดลที่เกี่ยวข้อง เมื่อฉันอัปเดตฉันอาจเพิ่มตัวเลือกหรือไม่ ดังนั้นฉันต้องตรวจสอบว่ามีโมเดลที่เกี่ยวข้องอยู่หรือไม่เพื่ออัปเดตหรือสร้างตามลำดับ: $model = RepairItem::find($id); if (Input::has('option')) { if (<related_model_exists>) { $option = new RepairOption(Input::get('option')); $option->repairItem()->associate($model); $option->save(); $model->fill(Input::except('option'); } else { $model->update(Input::all()); } }; <related_model_exists>รหัสที่ฉันกำลังมองหาอยู่ที่ไหน

2
วิธีแทรกหลายแถวจากแบบสอบถามเดียวโดยใช้คำพูดที่ไพเราะ / คล่องแคล่ว
ฉันมีคำถามต่อไปนี้: $query = UserSubject::where('user_id', Auth::id())->select('subject_id')->get(); และตามที่คาดไว้ฉันได้รับผลลัพธ์ดังต่อไปนี้: [{"user_id":8,"subject_id":9},{"user_id":8,"subject_id":2}] มีวิธีคัดลอกผลลัพธ์ข้างต้นไปยังตารางอื่นเพื่อให้ตารางของฉันมีลักษณะเช่นนี้หรือไม่? ID|user_id|subject_id 1 |8 |9 2 |8 |2 ปัญหาที่ฉันมีคือ$queryสามารถคาดหวังจำนวนแถวใด ๆ และฉันไม่แน่ใจว่าจะวนซ้ำผ่านจำนวนแถวที่ไม่รู้จักได้อย่างไร
150 php  sql  laravel  eloquent 

6
วิธีนามแฝงตารางในแบบสอบถาม Laravel Eloquent (หรือใช้ตัวสร้างแบบสอบถาม)
สมมติว่าเราใช้ตัวสร้างแบบสอบถามของ Laravel: $users = DB::table('really_long_table_name') ->select('really_long_table_name.id') ->get(); ฉันกำลังมองหาเทียบเท่ากับ SQL นี้: really_long_table_name AS short_name สิ่งนี้จะเป็นประโยชน์อย่างยิ่งเมื่อฉันต้องพิมพ์ตัวเลือกและ wheres จำนวนมาก (หรือโดยทั่วไปแล้วฉันจะใส่ alias ในคอลัมน์ alias ของตัวเลือกเช่นกันและมันจะถูกใช้ในอาร์เรย์ผลลัพธ์) หากไม่มีนามแฝงของตารางจะมีการพิมพ์เพิ่มเติมสำหรับฉันและทุกอย่างกลายเป็นน้อยอ่านง่าย ไม่พบคำตอบในเอกสาร laravel ความคิดเห็นใด ๆ

13
จะลบแถวทั้งหมดในตารางโดยใช้ Eloquent ได้อย่างไร?
ฉันเดาว่าจะใช้ไวยากรณ์ต่อไปนี้: MyModel::all()->delete(); แต่นั่นไม่ได้ผล ฉันแน่ใจว่ามันง่ายสุด ๆ แต่ฉันค้นหาเอกสารเกี่ยวกับเรื่องแล้วไม่พบ!

18
วิธีการเลือกคอลัมน์เฉพาะใน laravel eloquent
สมมติว่าฉันมี 7 คอลัมน์ในตารางและฉันต้องการเลือกเพียงสองคอลัมน์เท่านั้นอะไรทำนองนี้ SELECT `name`,`surname` FROM `table` WHERE `id` = '1'; ในรูปแบบฝีปาก laravel อาจมีลักษณะเช่นนี้ Table::where('id', 1)->get(); แต่ฉันเดาว่านิพจน์นี้จะเลือกคอลัมน์ทั้งหมดโดยที่ id เท่ากับ 1 และฉันต้องการเพียงสองคอลัมน์ (ชื่อนามสกุล) จะเลือกเพียงสองคอลัมน์ได้อย่างไร?


10
วิธีทำใน Laravel แบบสอบถามย่อยที่อยู่ใน
ฉันจะสร้างแบบสอบถามนี้ใน Laravel ได้อย่างไร: SELECT `p`.`id`, `p`.`name`, `p`.`img`, `p`.`safe_name`, `p`.`sku`, `p`.`productstatusid` FROM `products` p WHERE `p`.`id` IN ( SELECT `product_id` FROM `product_category` WHERE `category_id` IN ('223', '15') ) AND `p`.`active`=1 ฉันสามารถทำได้ด้วยการเข้าร่วม แต่ฉันต้องการรูปแบบนี้เพื่อประสิทธิภาพ

4
การจัดการความสัมพันธ์ใน Laravel โดยยึดตามรูปแบบพื้นที่เก็บข้อมูล
ขณะสร้างแอปใน Laravel 4 หลังจากอ่านหนังสือของ T. Otwell เกี่ยวกับรูปแบบการออกแบบที่ดีใน Laravel ฉันพบว่าตัวเองกำลังสร้างที่เก็บสำหรับทุกตารางบนแอปพลิเคชัน ฉันลงเอยด้วยโครงสร้างตารางต่อไปนี้: นักเรียน: id, name หลักสูตร: id, name, teacher_id ครู: id, name Assignments: id, name, course_id คะแนน (ทำหน้าที่เป็นตัวหมุนระหว่างนักเรียนและงาน): student_id, assignment_id, คะแนน ฉันมีคลาสที่เก็บที่มีวิธีการค้นหาสร้างอัปเดตและลบสำหรับตารางเหล่านี้ทั้งหมด แต่ละที่เก็บมีแบบจำลองที่มีประสิทธิภาพซึ่งโต้ตอบกับฐานข้อมูล ความสัมพันธ์ที่กำหนดไว้ในรูปแบบเอกสารต่อ Laravel ของ: http://laravel.com/docs/eloquent#relationships เมื่อสร้างหลักสูตรใหม่สิ่งที่ฉันทำคือเรียกใช้เมธอด create บน Course Repository หลักสูตรนั้นมีงานมอบหมายดังนั้นเมื่อสร้างหลักสูตรฉันจึงต้องการสร้างรายการในตารางคะแนนสำหรับนักเรียนแต่ละคนในหลักสูตรด้วย ฉันทำสิ่งนี้ผ่าน Assignment Repository ซึ่งหมายความว่าที่เก็บงานมอบหมายจะสื่อสารกับโมเดล Eloquent สองแบบโดยใช้โมเดล Assignment และ Student …

10
Laravel Eloquent groupBy () และยังส่งคืนจำนวนของแต่ละกลุ่ม
ฉันมีตารางที่ประกอบด้วยคอลัมน์ของเวอร์ชันเบราว์เซอร์ และฉันต้องการทราบจากชุดบันทึกว่ามีเบราว์เซอร์กี่ประเภท ดังนั้นฉันต้องจบลงด้วยสิ่งนี้: Total Records: 10; Internet Explorer 8: 2; โครม 25: 4; Firefox 20: 4 (เพิ่มได้สูงสุด 10 ตัว) นี่คือสองเพนนีของฉัน: $user_info = Usermeta::groupBy('browser')->get(); แน่นอนว่ามีเพียง 3 เบราว์เซอร์ไม่ใช่จำนวนของแต่ละเบราว์เซอร์ ฉันจะทำเช่นนี้ได้อย่างไร?


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.