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

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

21
วิธีการสร้างหลาย ๆ คำสั่งที่ใช้ Laravel Eloquent ได้อย่างไร
ฉันใช้ตัวสร้างแบบสอบถาม Laravel Eloquent และฉันมีแบบสอบถามที่ฉันต้องการใช้WHEREประโยคในหลายเงื่อนไข มันใช้งานได้ แต่มันก็ไม่ได้สวยงาม ตัวอย่าง: $results = User::where('this', '=', 1) ->where('that', '=', 1) ->where('this_too', '=', 1) ->where('that_too', '=', 1) ->where('this_as_well', '=', 1) ->where('that_as_well', '=', 1) ->where('this_one_too', '=', 1) ->where('that_one_too', '=', 1) ->where('this_one_as_well', '=', 1) ->where('that_one_as_well', '=', 1) ->get(); มีวิธีที่ดีกว่าในการทำเช่นนี้หรือฉันควรติดกับวิธีนี้

30
รับรหัสที่แทรกล่าสุดโดยใช้คำสั่ง Laravel
ขณะนี้ฉันกำลังใช้รหัสด้านล่างเพื่อแทรกข้อมูลในตาราง: <?php public function saveDetailsCompany() { $post = Input::All(); $data = new Company; $data->nombre = $post['name']; $data->direccion = $post['address']; $data->telefono = $post['phone']; $data->email = $post['email']; $data->giro = $post['type']; $data->fecha_registro = date("Y-m-d H:i:s"); $data->fecha_modificacion = date("Y-m-d H:i:s"); if ($data->save()) { return Response::json(array('success' => true), 200); } } ฉันต้องการคืนรหัสประจำตัวที่แทรกล่าสุด แต่ฉันไม่ทราบวิธีการรับ ขอแสดงความนับถือ!

11
Laravel 4 Eloquent Query โดยใช้ WHERE กับ OR และหรือ
Наэтотвопросестьответына Stack Overflow нарусском : Laravel ที่และหรือที่ไหนที่неработает ฉันจะพูดยังไง WHERE (a = 1 OR b =1 ) AND (c = 1 OR d = 1) สำหรับคำถามที่ซับซ้อนมากขึ้นฉันควรใช้ raw SQL หรือไม่

11
Eloquent Collection: การนับและตรวจจับความว่างเปล่า
นี่อาจเป็นคำถามเล็กน้อย แต่ฉันสงสัยว่า Laravel แนะนำวิธีการหนึ่งในการตรวจสอบว่าคอลเล็กชัน Eloquent ที่ส่งคืนมา$result = Model::where(...)->get()นั้นว่างเปล่าหรือไม่รวมถึงการนับจำนวนองค์ประกอบ ขณะนี้เรากำลังใช้!$resultเพื่อตรวจสอบผลลัพธ์ที่ว่างเปล่านั่นเพียงพอหรือไม่ สำหรับcount($result)จริง ๆ แล้วมันครอบคลุมทุกกรณีรวมถึงผลลัพธ์ที่ว่างเปล่าหรือไม่?

25
การตรวจสอบ Laravel หากบันทึกมีอยู่
ฉันใหม่กับ Laravel โปรดแก้ตัวคำถามมือใหม่ แต่จะหาได้อย่างไรถ้ามีบันทึกอยู่? $user = User::where('email', '=', Input::get('email')); ฉันจะทำอะไรที่นี่เพื่อดูว่า$userมีบันทึกหรือไม่

14
Laravel - แถวสุ่มฝีปากหรือคล่องแคล่ว
ฉันจะเลือกแถวสุ่มโดยใช้ Eloquent หรือ Fluent ในกรอบงาน Laravel ได้อย่างไร ฉันรู้ว่าโดยใช้ SQL คุณสามารถสั่งซื้อโดย RAND () อย่างไรก็ตามฉันต้องการรับแถวสุ่มโดยไม่นับจำนวนระเบียนก่อนที่จะเริ่มต้นแบบสอบถาม ความคิดใด ๆ
242 php  fluent  laravel  eloquent 

3
วิธีใช้คำสั่งซื้อโดยสำหรับหลายคอลัมน์ใน Laravel 4
ฉันต้องการเรียงลำดับหลายคอลัมน์ใน Laravel 4 โดยใช้วิธีorderBy()ใน Laravel Eloquent แบบสอบถามจะถูกสร้างขึ้นโดยใช้ Eloquent ดังนี้: SELECT * FROM mytable ORDER BY coloumn1 DESC, coloumn2 ASC ฉันจะทำสิ่งนี้ได้อย่างไร

9
เพิ่มแอตทริบิวต์ที่กำหนดเองลงในโมเดล Laravel / Eloquent ในการโหลดหรือไม่
ฉันต้องการที่จะเพิ่มคุณสมบัติ / คุณสมบัติที่กำหนดเองให้กับโมเดล Laravel / Eloquent เมื่อมีการโหลดคล้ายกับวิธีที่อาจทำได้ด้วยวิธีการของ RedBean $model->open() ตัวอย่างเช่นในขณะนี้ในคอนโทรลเลอร์ของฉันฉันมี: public function index() { $sessions = EventSession::all(); foreach ($sessions as $i => $session) { $sessions[$i]->available = $session->getAvailability(); } return $sessions; } มันจะเป็นการดีถ้าคุณสามารถข้ามลูปและตั้งค่าแอตทริบิวต์ 'พร้อมใช้งาน' ไว้แล้วและมีประชากรอยู่แล้ว ฉันได้ลองใช้แบบจำลองเหตุการณ์ที่อธิบายไว้ในเอกสารประกอบเพื่อแนบคุณสมบัตินี้เมื่อวัตถุโหลด แต่ไม่ประสบความสำเร็จ หมายเหตุ: 'ว่าง' ไม่ใช่เขตข้อมูลในตารางที่ขีดเส้นใต้ $sessionsกำลังถูกส่งคืนเป็นวัตถุ JSON ซึ่งเป็นส่วนหนึ่งของ API ดังนั้นการโทรหาสิ่งที่ต้องการ$session->available()ในเทมเพลตไม่ใช่ตัวเลือก
219 php  orm  laravel  eloquent 

7
คุณจะตรวจสอบ "ถ้าไม่เป็นโมฆะ" กับ Eloquent อย่างไร
คุณจะตรวจสอบว่าเขตข้อมูลไม่เป็นโมฆะด้วย Eloquent ได้อย่างไร ฉันพยายามModel::where('sent_at', 'IS NOT', DB::raw('null'))->...แต่มันให้IS NOTเป็นการผูกแทนที่จะเป็นการเปรียบเทียบ นี่คือสิ่งที่DB::getQueryLog()พูดเกี่ยวกับมัน: 'query' => string 'select * from my_table where sent_at = ? and profile_id in (?, ?) order by created_at desc' (length=101) 'bindings' => array (size=3) 0 => string 'IS NOT' (length=6) 1 => int 1 2 => int 4
218 laravel  eloquent 

9
Laravel Eloquent: ผลลัพธ์การสั่งซื้อทั้งหมด ()
ฉันติดอยู่กับงานง่าย ๆ ฉันแค่ต้องการสั่งซื้อผลลัพธ์ที่มาจากการโทรนี้ $results = Project::all(); Projectโมเดลอยู่ที่ไหน ฉันได้ลองแล้ว $results = Project::all()->orderBy("name"); แต่มันไม่ทำงาน วิธีใดที่ดีกว่าในการรับข้อมูลทั้งหมดจากตารางและสั่งซื้อได้

2
Laravel - เก่ง“ มี”,“ พร้อม”,“ ที่ไหนมี” - พวกเขาหมายถึงอะไร?
ฉันได้พบแนวคิดและความหมายเบื้องหลังวิธีการเหล่านี้ทำให้เกิดความสับสนเล็กน้อยเป็นไปได้หรือไม่ที่บางคนจะอธิบายให้ฉันฟังว่าความแตกต่างระหว่างhasและwithเป็นอย่างไรในบริบทของตัวอย่าง (ถ้าเป็นไปได้)

30
การย้ายข้อมูล: ไม่สามารถเพิ่มข้อ จำกัด กุญแจต่างประเทศ
ฉันพยายามที่จะสร้างกุญแจต่างประเทศใน Laravel แต่เมื่อฉันย้ายตารางของฉันโดยใช้artisanฉันโยนข้อผิดพลาดต่อไปนี้: [Illuminate\Database\QueryException] SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL : alter table `priorities` add constraint priorities_user_id_foreign foreign key (`user_id`) references `users` (`id`)) รหัสการโยกย้ายของฉันเป็นเช่นนั้น: ไฟล์การโยกย้ายลำดับความสำคัญ public function up() { // Schema::create('priorities', function($table) { $table->increments('id', true); $table->integer('user_id'); $table->foreign('user_id')->references('id')->on('users'); $table->string('priority_name'); $table->smallInteger('rank'); $table->text('class'); $table->timestamps('timecreated'); }); } /** * Reverse …

13
รับคอลัมน์เฉพาะโดยใช้ฟังก์ชัน“ With ()” ใน Laravel Eloquent
ฉันมีสองตารางและUser Postหนึ่งUserสามารถมีจำนวนมากpostsและเป็นหนึ่งเป็นเพียงคนเดียวpostuser ในUserแบบจำลองของฉันฉันมีhasManyความสัมพันธ์ ... public function post(){ return $this->hasmany('post'); } และในpostแบบจำลองของฉันฉันมีbelongsToความสัมพันธ์ ... public function user(){ return $this->belongsTo('user'); } ตอนนี้ฉันต้องการเข้าร่วมสองตารางนี้โดยใช้Eloquent with()แต่ต้องการคอลัมน์เฉพาะจากตารางที่สอง ฉันรู้ว่าฉันสามารถใช้ตัวสร้างแบบสอบถามได้ แต่ฉันไม่ต้องการ เมื่ออยู่ในPostรูปแบบที่ฉันเขียน ... public function getAllPosts() { return Post::with('user')->get(); } มันเรียกใช้แบบสอบถามต่อไปนี้ ... select * from `posts` select * from `users` where `users`.`id` in (<1>, <2>) แต่สิ่งที่ฉันต้องการคือ ... select * …

9
การย้ายถิ่นของ Laravel เปลี่ยนเป็นทำให้คอลัมน์เป็นโมฆะ
user_idฉันสร้างการย้ายถิ่นที่มีไม่ได้ลงนาม ฉันจะแก้ไขuser_idในการย้ายข้อมูลใหม่เพื่อสร้างได้nullable()อย่างไร Schema::create('throttle', function(Blueprint $table) { $table->increments('id'); // this needs to also be nullable, how should the next migration be? $table->integer('user_id')->unsigned(); }

10
ปิดใช้งานการประทับเวลา Eloquent ของ Laravel
ฉันอยู่ระหว่างการแปลงหนึ่งในเว็บแอปพลิเคชันของเราจาก CodeIgniter เป็น Laravel อย่างไรก็ตามในขณะนี้เราไม่ต้องการเพิ่มupdated_at/ created_atเขตข้อมูลลงในตารางทั้งหมดของเราเนื่องจากเรามีคลาสการบันทึกที่ทำทั้งหมดนี้ในเชิงลึกมากขึ้นสำหรับเราแล้ว ฉันรู้ว่าฉันสามารถตั้งค่า$timestamps = false;ใน: Vendor\laravel\framework\src\illuminate\Datebase\Eloquent\Model.php อย่างไรก็ตามฉันไม่ต้องการเปลี่ยนไฟล์หลักสำหรับ Laravel หรือให้ทุกคนในแบบจำลองของฉันมีที่ด้านบน มีวิธีใดบ้างในการปิดการใช้งานที่อื่นในทุกรุ่น?
186 php  laravel  eloquent 

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