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

Laravel เป็นเฟรมเวิร์กเว็บ PHP แบบโอเพนซอร์สที่ไม่เสียค่าใช้จ่ายสร้างโดย Taylor Otwell และมีไว้สำหรับการพัฒนาเว็บแอปพลิเคชั่นตามรูปแบบสถาปัตยกรรม model-view – controller (MVC) ซอร์สโค้ดของ Laravel นั้นโฮสต์บน GitHub และได้รับสิทธิการใช้งานภายใต้เงื่อนไขของ MIT License

10
โคลนวัตถุที่เก่งกาจรวมถึงความสัมพันธ์ทั้งหมด?
มีวิธีใดในการโคลนวัตถุ Eloquent รวมถึงความสัมพันธ์ทั้งหมดได้อย่างง่ายดาย? ตัวอย่างเช่นถ้าฉันมีตารางเหล่านี้: users ( id, name, email ) roles ( id, name ) user_roles ( user_id, role_id ) นอกเหนือจากการสร้างแถวใหม่ในusersตารางโดยที่คอลัมน์ทั้งหมดเหมือนกันยกเว้น idควรสร้างแถวใหม่ในuser_rolesตารางโดยกำหนดบทบาทเดียวกันให้กับผู้ใช้ใหม่ สิ่งนี้: $user = User::find(1); $new_user = $user->clone(); ที่รุ่นผู้ใช้มี class User extends Eloquent { public function roles() { return $this->hasMany('Role', 'user_roles'); } }

3
Laravel Eloquent อัปเดตหากมีการเปลี่ยนแปลง
มีวิธีใดบ้างในการอัปเดตบันทึกใน Laravel โดยใช้แบบจำลองที่มีฝีปากหากมีการเปลี่ยนแปลงบันทึกนั้น ฉันไม่ต้องการให้ผู้ใช้ใด ๆ ขอฐานข้อมูลโดยไม่มีเหตุผลที่ดีซ้ำแล้วซ้ำเล่าเพียงแค่กดปุ่มเพื่อบันทึกการเปลี่ยนแปลง ฉันมีjavascriptฟังก์ชั่นที่เปิดใช้งานและปิดใช้งานปุ่มบันทึกตามว่ามีอะไรเปลี่ยนแปลงในหน้าหรือไม่ แต่ฉันต้องการทราบว่าเป็นไปได้หรือไม่ที่จะใช้คุณลักษณะนี้ในฝั่งเซิร์ฟเวอร์ด้วย ฉันรู้ว่าฉันสามารถทำได้ด้วยตัวเอง (หมายถึง: โดยไม่สนใจฟังก์ชันภายในของเฟรมเวิร์ก) เพียงแค่ตรวจสอบว่าบันทึกมีการเปลี่ยนแปลงหรือไม่ แต่ก่อนที่จะทำเช่นนั้นฉันต้องการทราบว่าโมเดลที่มีฝีปากของ Laravel ดูแลอยู่แล้ว ดังนั้นฉันไม่จำเป็นต้องประดิษฐ์ล้อขึ้นมาใหม่ นี่คือวิธีที่ฉันใช้ในการอัปเดตบันทึก: $product = Product::find($data["id"]); $product->title = $data["title"]; $product->description = $data["description"]; $product->price = $data["price"]; //etc (string values were previously sanitized for xss attacks) $product->save();
87 php  laravel  eloquent 

6
วิธีการรวมคอลเลกชันที่คมชัดสองชุด
ฉันมีตารางคำถามและตารางแท็ก ฉันต้องการดึงคำถามทั้งหมดจากแท็กของคำถามที่ระบุ ตัวอย่างเช่นฉันอาจมีแท็ก "การเดินทาง" "รถไฟ" และ "วัฒนธรรม" แนบไปกับคำถามที่ระบุ ฉันต้องการดึงคำถามทั้งหมดสำหรับแท็กทั้งสามนี้ ดูเหมือนว่าจะยุ่งยากก็คือความสัมพันธ์ของคำถามและแท็กเป็นแบบกลุ่มต่อกลุ่มที่กำหนดไว้ใน Eloquent เป็นเป็นของ ฉันคิดว่าจะพยายามรวมคอลเลกชันคำถามดังต่อไปนี้: foreach ($question->tags as $tag) { if (!isset($related)) { $related = $tag->questions; } else { $related->merge($tag->questions); } } ดูเหมือนจะไม่ได้ผล ดูเหมือนจะไม่รวมอะไรเลย ฉันพยายามอย่างถูกต้องหรือไม่? นอกจากนี้อาจมีวิธีที่ดีกว่าในการเรียกแถวของความสัมพันธ์แบบกลุ่มต่อกลุ่มใน Eloquent หรือไม่?

8
Laravel - ส่งคืน json พร้อมกับรหัสสถานะ http
ถ้าฉันส่งคืนวัตถุ: return Response::json([ 'hello' => $value ]); รหัสสถานะจะเป็น 200 ฉันจะเปลี่ยนเป็น 201 พร้อมข้อความและส่งด้วยวัตถุ json ได้อย่างไร? ฉันไม่รู้ว่ามีวิธีตั้งรหัสสถานะใน Laravel ได้ไหม

6
Symfony \ Component \ Debug \ Exception \ FatalErrorException laravel ข้อผิดพลาด
ฉันได้รับข้อผิดพลาดนี้ในโครงการ Laravel ใหม่ของฉัน ฉันพยายามเรียกใช้หลังจากการติดตั้งใหม่ การประกาศของ Symfony \ Component \ Translation \ TranslatorInterface :: setLocale ($ locale) ต้องเข้ากันได้กับ Symfony \ Contracts \ Translation \ LocaleAwareInterface :: setLocale (สตริง $ locale)
32 php  laravel 

7
รับอินสแตนซ์ของชนิดย่อยของแบบจำลองด้วย Eloquent
ฉันมีAnimalรูปแบบตามanimalตาราง ตารางนี้มีtypeข้อมูลที่สามารถมีค่าเช่นแมวหรือสุนัข ฉันต้องการสร้างวัตถุเช่น: class Animal extends Model { } class Dog extends Animal { } class Cat extends Animal { } ถึงกระนั้นการที่สามารถเรียกสัตว์เช่นนี้ได้: $animal = Animal::find($id); แต่ที่$animalจะเป็นตัวอย่างของDogหรือCatขึ้นอยู่กับtypeเขตข้อมูลที่ฉันสามารถตรวจสอบการใช้instance ofหรือที่จะทำงานกับวิธีการบอกใบ้ชนิด เหตุผลก็คือรหัส 90% มีการแชร์ แต่หนึ่งสามารถเห่าและอื่น ๆ สามารถ meow ฉันรู้ว่าฉันสามารถทำได้Dog::find($id)แต่มันไม่ใช่สิ่งที่ฉันต้องการ: ฉันสามารถกำหนดประเภทของวัตถุได้เมื่อมันถูกดึงออกมาแล้ว ฉันยังสามารถดึงข้อมูลสัตว์แล้วเรียกใช้find()บนวัตถุที่ถูกต้อง แต่นี่เป็นการเรียกฐานข้อมูลสองสายซึ่งฉันไม่ต้องการ ฉันพยายามหาวิธีที่จะ "สร้างด้วยตนเอง" ยกตัวอย่างนางแบบ Eloquent เช่น Dog from Animal แต่ฉันไม่สามารถหาวิธีที่สอดคล้องกันได้ มีความคิดหรือวิธีการที่ฉันพลาดไปไหม
22 php  laravel  eloquent 

4
ข้อผิดพลาดของกล่อง Laravel Homestead / Vagrant: ประเภทการตรวจสอบที่ระบุไม่รองรับโดย Vagrant: sha512
ฉันกำลังพยายามติดตั้ง laravel homestead และไม่สามารถผ่านไปได้โดยเพิ่มกล่อง homestead คำแนะนำคือ: vagrant box add laravel/homestead หลังจากเสร็จสิ้นกระบวนการดาวน์โหลดข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น C:\Users\HARSHA - PC PRO>vagrant box add laravel/homestead ==> box: Loading metadata for box 'laravel/homestead' box: URL: https://vagrantcloud.com/laravel/homestead ==> box: Adding box 'laravel/homestead' (v9.0.1) for provider: virtualbox box: Downloading: https://vagrantcloud.com/laravel/boxes/homestead/versions/9.0.1/providers/virtualbox.box ==> box: Box download is resuming from prior download progress …
19 laravel  vagrant 

2
เกิดข้อผิดพลาดในการถ่ายโอนข้อมูลหรือ dd laravel เพิ่มอักขระก่อนผลลัพธ์
คำขอและการทิ้งทั้งหมดใน laravel เพิ่ม ^ ก่อนผลลัพธ์นั่นเป็นเพียงการทำเช่นนั้นใน dd หรือการถ่ายโอนข้อมูล เอฟเฟกต์นี้สร้างข้อผิดพลาดมากมายในรหัสของฉัน
13 php  laravel  laravel-5 

2
Docker & Laravel: configure: error: ข้อกำหนดของแพคเกจ (oniguruma) ไม่เป็นไปตาม
ทุกคนสามารถช่วยฉันด้วยปัญหานี้ เมื่อฉันพยายามสร้างภาพนักเทียบท่าจาก dockerfile สำหรับแอปพลิเคชัน laravel ฉันได้รับข้อผิดพลาดนี้: กำลังตรวจสอบสำหรับ oniguruma ... ไม่มีการกำหนดค่า: ข้อผิดพลาด: ไม่ตรงตามข้อกำหนดของแพ็คเกจ (oniguruma): No package 'oniguruma' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables ONIG_CFLAGS and ONIG_LIBS to avoid the need to call pkg-config. See the …

1
Laravel Sanctum vs Passport
ความแตกต่างระหว่าง 2 เหล่านี้คืออะไร และอันไหนที่ดีกว่าสำหรับแอพ VueJS แบบง่าย ๆ ? ฉันอ่านเอกสารของพวกเขาสองสามครั้ง แต่ก็ยังสับสนอยู่ ขอบคุณมาก.

6
บันทึกผู้ใช้ออกจากเว็บไซต์เมื่อพวกเขาทำให้คอมพิวเตอร์เข้าสู่โหมดสลีป
นี่คือหนึ่งที่แปลกประหลาด เรามีเว็บไซต์ Laravel และในเว็บไซต์ดังกล่าวเรามีตัวจับเวลาต่อผู้ใช้ซึ่งพวกเขาจะไม่ได้ใช้งาน 15 นาทีก่อนที่จะถูกบูท เราทำสิ่งนี้ผ่านตัวจับเวลาที่ตั้งอยู่บนหน้าในส่วนประกอบแบบตอบสนองมันทำงานได้ตามที่เราต้องการ แต่ตอนนี้เรามีปัญหาใหม่: หากผู้ใช้เข้าสู่ระบบและปิดฝาแล็ปท็อปเว็บไซต์ควรบูตพวกเขา . ธนาคารทำเช่นนี้โรงเรียนและมหาวิทยาลัยทำเช่นนี้ไซต์รัฐบาลก็ทำเช่นนี้ ดังนั้นจึงเป็นไปได้ แต่ก็ไม่แน่ใจเหมือนกัน เราใช้ซ็อกเก็ตเว็บโดยใช้ไลบรารี laravel-websocketsและ Echo สิ่งที่ฉันต้องการเห็นเกิดขึ้นคือ: เมื่อคุณปิดแล็ปท็อปบูตคุณไปที่หน้าจอเข้าสู่ระบบ ครั้งต่อไปที่คุณเปิดแล็ปท็อปและล็อกอินและดูเบราว์เซอร์ที่คุณอยู่บนหน้าจอเข้าสู่ระบบ ไม่จำเป็นต้องเกิดขึ้นอย่างรวดเร็ว แต่เราต้องการวิธีส่งบางอย่างไปยังส่วนหน้าโดยทั่วไปบอกให้รีเฟรชหน้าเว็บเมื่อเซสชั่นถูกฆ่าตายเราจะกำหนดอายุการใช้งานเซสชันเป็น laravel 15 นาที บางคนแนะนำในคำถามที่คล้ายกันอื่น ๆ : เพื่อสร้างตัวจัดการซ็อกเก็ตเว็บที่กำหนดเอง เพื่อเปรียบเทียบคุ้กกี้เซสชัน (ในเบราว์เซอร์) กับคุกกี้ของผู้ใช้ที่ส่วนท้าย หากต้องการให้ตัวจับเวลาทำงานที่ส่วนหน้า (เราจะหยุดเมื่อคุณปิดฝาแล็ปท็อป) ดูเหมือนจะใช้ซ็อกเก็ตเว็บที่ได้รับความนิยมมากที่สุดฟังเพื่อให้ผู้ใช้ปลดการเชื่อมต่อจากนั้นทำการบู๊ตซึ่งเป็นสิ่งที่ดีและทั้งหมด แต่แล้วคุณจะส่งคำขอไปยังเบราว์เซอร์ที่ถูกระงับแล้ว ฉันได้พบrequestIdleCallback ()แต่อีกครั้งฉันไม่คิดว่านี่คือสิ่งที่ฉันต้องการถ้าฉันมีตัวจับเวลา heartbeat บนเว็บไซต์ มันไม่สามารถใช้ได้กับทุกเบราว์เซอร์ ฉันหลงทางมากเกี่ยวกับวิธีการทำสิ่งนี้ให้สำเร็จตัวอย่างที่ฉันให้คือ: เข้าสู่ระบบธนาคารของคุณ, ทำให้คอมพิวเตอร์เข้าสู่โหมดสลี, รอ 15-20 นาที, ปลุกคอมพิวเตอร์, เข้าสู่ระบบและดูธนาคารของคุณตอนนี้มีหน้าจอเข้าสู่ระบบ นั่นคือสิ่งที่ฉันต้องการ แต่ฉันไม่รู้วิธีที่จะทำให้สำเร็จ …

7
การเปิด / ปิดการใช้งานคุณสมบัติในแอพ Laravel
ฉันกำลังสร้างแอป Laravel ซึ่งมีคุณสมบัติหลายอย่าง ฉันต้องการที่จะเปิดใช้งานหรือปิดการใช้งานพวกเขาขึ้นอยู่กับความต้องการของโดเมนที่เฉพาะเจาะจง ขณะนี้ฉันมีชุดธงหลายรายการเช่น: 'is_feature_1_enabled' => true, 'is_feature_2_enabled' => false, ... และต่อไป จากนั้นในตัวควบคุมและมุมมองของฉันฉันตรวจสอบค่ากำหนดเหล่านั้นเพื่อดูว่าฉันควรจะแสดงบางสิ่งบางอย่างหรือไม่อนุญาตให้ดำเนินการบางอย่าง ฯลฯ แอปของฉันเริ่มที่จะได้รับมลพิษด้วยการตรวจสอบเหล่านี้ทุกที่ มีวิธีปฏิบัติที่ดีที่สุดในการจัดการคุณสมบัติในแอป Laravel หรือไม่?

5
เส้นทางช่างฝีมือ Laravel: แคชทำให้เกิดข้อผิดพลาดข้อมูลที่ผิดพลาด
การรันคำสั่ง: php artisan route:cacheสร้างการดำเนินการต่อไปนี้: Erroneous data format for unserializing 'Symfony\Component\Routing\CompiledRoute' วิ่ง: php artisan route:clearแก้ไขมัน ฉันต้องการทราบวิธีแก้ไขปัญหานี้เพื่อให้ฉันสามารถแคชเส้นทางของฉันได้
9 php  laravel 

4
วิธีที่ดีที่สุดสำหรับประสิทธิภาพเมื่อกรองการอนุญาตใน Laravel
ฉันกำลังทำงานกับแอปพลิเคชันที่ผู้ใช้สามารถเข้าถึงหลายรูปแบบผ่านสถานการณ์ที่แตกต่างกัน ฉันกำลังพยายามสร้างวิธีการด้วยประสิทธิภาพที่ดีที่สุดเมื่อส่งคืนดัชนีของฟอร์มให้กับผู้ใช้ ผู้ใช้สามารถเข้าถึงแบบฟอร์มผ่านสถานการณ์ต่อไปนี้: แบบฟอร์มเป็นเจ้าของ ทีมเป็นเจ้าของแบบฟอร์ม มีสิทธิ์ให้กับกลุ่มที่เป็นเจ้าของแบบฟอร์ม มีสิทธิ์ให้กับทีมที่เป็นเจ้าของฟอร์ม ได้รับอนุญาตให้ใช้แบบฟอร์ม อย่างที่คุณเห็นมี 5 วิธีที่เป็นไปได้ที่ผู้ใช้สามารถเข้าถึงแบบฟอร์ม ปัญหาของฉันคือฉันจะส่งคืนแบบฟอร์มที่สามารถเข้าถึงได้ให้กับผู้ใช้อย่างมีประสิทธิภาพมากที่สุดอย่างไร นโยบายแบบฟอร์ม: ฉันพยายามรับแบบฟอร์มทั้งหมดจากแบบจำลองแล้วกรองแบบฟอร์มตามนโยบายแบบฟอร์ม ดูเหมือนว่าจะเป็นปัญหาด้านประสิทธิภาพเนื่องจากการทำซ้ำในตัวกรองแต่ละครั้งแบบฟอร์มจะถูกส่งผ่านเมธอดที่ประกอบด้วย () eloquent 5 ครั้งดังแสดงด้านล่าง แบบฟอร์มเพิ่มเติมในฐานข้อมูลหมายความว่าสิ่งนี้ช้าลง FormController@index public function index(Request $request) { $forms = Form::all() ->filter(function($form) use ($request) { return $request->user()->can('view',$form); }); } FormPolicy@view public function view(User $user, Form $form) { return $user->forms->contains($form) || $user->team->forms->contains($form) || …

5
Guzzle การขว้างปา RejectionException แทน ConnectionException บนกระบวนการพื้นหลัง
ฉันมีงานที่ทำงานหลายคนที่มีการร้องขอ HTTP โดยใช้ Guzzle อย่างไรก็ตามบล็อก try-catch ภายในงานนี้ดูเหมือนจะไม่ได้รับGuzzleHttp\Exception\RequestExceptionเมื่อฉันกำลังเรียกใช้งานเหล่านี้ในกระบวนการพื้นหลัง กระบวนการกำลังทำงานอยู่php artisan queue:workซึ่งเป็นผู้ปฏิบัติงานระบบคิว Laravel ที่ตรวจสอบคิวและหยิบงาน แต่ข้อยกเว้นที่ถูกโยนเป็นหนึ่งGuzzleHttp\Promise\RejectionExceptionในข้อความ: คำสัญญาถูกปฏิเสธด้วยเหตุผล: ข้อผิดพลาด cURL 28: หมดเวลาการทำงานหลังจาก 30001 มิลลิวินาทีพร้อมรับ 0 ไบต์ (ดู https://curl.haxx.se/libcurl/c/libcurl-errors.html ) นี่คือการปลอมตัวGuzzleHttp\Exception\ConnectException(ดูhttps://github.com/guzzle/promises/blob/master/src/RejectionException.php#L22 ) เพราะถ้าฉันทำงานที่คล้ายกันในกระบวนการ PHP ปกติที่เรียกใช้โดยไปที่ URL ฉันได้รับข้อความConnectExceptionตามที่ตั้งใจไว้: ข้อผิดพลาด cURL 28: การดำเนินการหมดเวลาหลังจาก 100 มิลลิวินาทีโดยได้รับ 0 จาก 0 ไบต์ (ดูที่ https://curl.haxx.se/libcurl/c/libcurl-errors.html ) โค้ดตัวอย่างที่จะทำให้หมดเวลานี้: try { $c = …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.