اذهب إلى المحتوى

Mahmoud Alrashidi

الأعضاء
  • المساهمات

    104
  • تاريخ الانضمام

  • تاريخ آخر زيارة

كل منشورات العضو Mahmoud Alrashidi

  1. لدي مشروع لارافيل يحتوي على نظام تعليقات كل مقال لديه مجموعة من التعليقات: public function comments() { return $this->hasMany(Comment::class); } و لكل تعليق عدد من الردود: @foreach($article->comments as $comment) {{ $comment->body }} @foreach($comment->children as $subComment) {{ $subComment->body }} @endforeach @endforeach لكن لاحظت أن عدد الإستعلامات كبير، لماذا و كيف يُمكن التقليل من عدد الإستعلامات هذا.
  2. لدي نموذج Post و ملف تهجير به الأعمدة التالية: <?php Schema::create('posts', function (Blueprint $table) { $table->id(); $table->string('title'); $table->string('slug'); $table->text('body'); $table->timestamps(); }); أريد عند إنشاء سجل من هذا النموذج يتم إعطاء slug تلقائياً حسب العُنوان المُمرر.
  3. أستخدم المسار التالي: Route::livewire('/register', 'register'); و قد ظهر لي الخطأ: Attribute "livewire" Not recognized أستخدم livewire2 كيف يٌمكن حل هذه المشكلة.
  4. بعد إعداد laravel passport قمت بإنشاء متحكم لمعالجة التسجيل و تسجيل الدخول و هذا كود إنشاء access token: $tokenObj = $user->createToken('APPLICATION')->accessToken; لكن ظهر لي الخطأ التالي : RuntimeException: Personal access client not found. Please create one. in file ... كيف يُمكن حل هذه المشكلة.
  5. كيف يُمكن إضافة ملف لدوال مساعدة في laravel و إستخدام هذه الدول في أي مكان أريد سواء في المتحكمات او ملفات العرض او في كلاسات أخرى.
  6. أستخدم لارافيل و أحاول رفع ملف و حفظه: public function test(Request $request) { $fileInForm = 'file'; if ($request->hasFile($fileInForm)) { $file = $request->file($fileInForm); if ($file->isValid()) { $hashedName = hash_file('md5', $file->path()); $timestamp = microtime(); $newFilename = $hashedName . $timestamp . '.' . $file->getClientOriginalExtension(); Storage::disk('local')->put($newFilename, $file); } } } لكن المُشكلة أن الملف يتم حفظه في مُجلد باسم مُختلف في كل مرة و إسم المُجلد يكون نفس الإسم الذي أضعه. هل يُمكن حفظ الملف في مجلد واحد و ليس كل ملف في مجلد لوحده.
  7. قمت بإنشاء ملف الإختبار التالي: php artisan make:test BookTest و أريد إختبار خاصية إضافة كتاب لجدول الكتب في قاعدة البيانات كيف يُمكن ذلك.
  8. قرأت قليلاً عن البرمجة الموجهة بالإختبار TDD ماهي الفائدة منها و لماذا نستخدمها. ثانياً قمت بإنشاء Test عن طريق الأمر التالي: php artisan make:test JustExample قام الأمر بإنشاء ملف JustExample.php بشكل جيد لكن عندما وضعت الدالة التالية: class JustExample extends TestCase { public function just_test_method() { $result = 2 * 5; $this->assertEquals(50, $result); } } و تنفيذ الأمر: phpunit لا يظهر أن الإختبار فشل في نافذة الكونسول لأن المفروض المُتغير result لا يحتوي على القيمة 50 بل 10
  9. هل هناك طريقة لحذف جميع الملفات الموجودة داخل مُجلد مثلا بهذا الشكل: Storage::delete('app/public/products/*.png'); هذا السطر يعطي false و لا يتم حذف أي شيء.
  10. أواجه المُشكلة التالية أريد عرض صفحة إنشاء موضوع جديد لكن الصفحة لا تظهر و يظهر خطأ 404 مع أن الصفحة موجودة و المسار الخاص بها موجود ضمن الملف web.php : Route::get('/threads/create', [ThreadController::class, 'create']); هل من حل لهذه المُشكلة.
  11. كيف يُمكن عمل backup لقاعدة البيانات و الاحتفاظ بها في ملفات المشروع.
  12. ما معنى Mass Assignment في لارافيل، و ما معني الخطأ التالي Page Expired 419
  13. أريد إضافة خاصية منع المُستخدمين من تسجيل دخولهم إلى وقت أحدده، مثلا الأدمن يتلقى شكاوي بخصوص مستخدم معين او يُلاحظ انه يسيئ إستخدام التطبيق فيقوم بإيقاف حسابه إلى تاريخ يقوم بتحديده، و إذا قام المُستخدم في هذه الفترة بمحاولة الدخول لحسابه تظهر له رسالة أن حسابه مُتوقف لمدة 6 أيام او 10 أيام مثلا و بعد إنقضاء تلك المدة يتم تنشيط الحساب تلقائياً دون تدخل من الأدمن.
  14. لدي جدول بيانات به مجموعة من السجلات و أريد إضافة عمود جديد لهذا الجدول بدون فقدان البيانات الحالية كيف استطيع عمل ذلك في laravel
  15. كيف يُمكن إتاحة تسجيل الدخول عن طريق إما البريد الإلكتروني او إسم المُستخدم في نفس الحقل.
  16. ماهي المصادقة المُتعددة في laravel و كيف يُمكن تطبيقها
  17. كيف يُمكن إنشاء مُستخدمين و تقسيمهم حسب صلاحيات مُحددة، مثلاً إنشاء مُستخدمين لهم دور مدير و مستخدمين لهم دور مٌحاسب في النظام مع تحديد صلاحيات المُحاسب و مُستخدمين عاديين ... الخ
  18. ماهو الحذف الناعم soft delete و كيف يُمكن تطبيقه في مشروع laravel
  19. لدي المسار التالي: Route::post('threads/{thread}/replies', [ReplyController::class, 'store']); التابع store بهذا الشكل: <?php class ReplyController extends Controller { public function store(Thread $thread) { $thread->addReply([ 'body' => \request('body'), 'user_id' => auth()->id() ]); return back(); } } و نموذج لإضافة تعليق على موضوع بهذا الشكل: <div class="row justify-content-center mt-3"> <div class="col-md-8"> <form action="{{ $thread->path . "/replies" }}" method="post"> @csrf <div class="form-group"> <textarea name="body" class="form-control" rows="5" placeholder="Have something to say?"></textarea> </div> <button type="submit" class="btn btn-secondary">Post</button> </form> </div> </div> كل شيء يعمل الآن، ما أريده هو حماية وصول الزوار للمسار و أن لا يتم عرض نموذج إضافة تعليق لهم و أن يتم عرض رابط للتوجيه إلى صفحة تسجيل الدخول في هذه الحالة.
  20. لدي جدول للمنتجات (products) هذا الجدول لديه مودل خاص به إسمه Product، و جدول آخر للمُشتريات purchases و المودل الخاص به هو Purchase لكل منتج عدة مشتريات العلاقة واحد لكثير و إسم الحقل الذي يتم الربط من خلاله هو product_id، أريد أكثر 5 منتجات مبيعاً في آخر شهر او آخر 7 أيام و غيرها، كيف يُمكنني ذلك؟
  21. كيف يُمكن إرسال بريد إلكتروني في لارافيل
  22. ماهي العلاقات مُتعددة الأشكال ( Polymorphic Relationships) في لارافيل و كيف يمكن الإستفادة منها.
  23. بما أن صفحة العرض app.blade تستخدمها مجموعة من صفحات العرض الأخرى، هل هناك طريقة لمُشاركة بعض البيانات مع هذه الصفحة حتى لا نضطر لتمريرها في كل مرة إلى صفحة العرض المطلوبة. لدي مجموعة من الأقسام في قاعدة البيانات و في جميع الصفحات يتم عرض هذه الأقسام
  24. أريد أن اعرف كيف يُمكنني جلب آخر سجل تمت إضافته في جدول بيانات في لارافيل. أنا أعلم التابع first الذي يجلب أول سجل لكن لا يوجد تابع إسمه last هل هناك طريقة محددة أيضا اريد جلب سجل عشوائي في كل مرة فهل هناك طريقة لذلك؟
  25. لدي نموذج الإشتراك التالي: <!DOCTYPE html> <html dir="rtl" lang="ar"> <head> <title>تسجيل عضوية جديدة</title> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css"> <link rel="preconnect" href="https://fonts.gstatic.com"> <link href="https://fonts.googleapis.com/css2?family=Cairo:wght@600&display=swap" rel="stylesheet"> <style> body { margin: 0; padding: 0; background-color: #f1f1f1; font-family: 'Cairo', sans-serif; text-align: right; } .box { width: 600px; border: 1px solid #ccc; background-color: #fff; border-radius: 5px; margin-top: 36px; } </style> </head> <body> <div class="container box"> <h3 class="text-center mt-3">تسجيل عضوية جديدة</h3><br /> <div class="form-group"> <label>إسم المستخدم</label> <input type="text" name="username" id="username" class="form-control" autocomplete="off" /> <br /><br /> <button type="button" name="register" class="btn btn-info" id="register" disabled>إشترك الآن</button> <br /> </div> <br /> <br /> </div> </body> </html> يحتوي على حقل لإدخال إسم المُستخدم أريد التأكد من صلاحية إسم المُستخدم الذي يتم إدخاله و عرض رسالة: يجب أن يكون عدد أحرف إسم المستخدم أكبر من 3، و في حالة كان إسم المُستخدم قد تم إستعماله مُسبقاً من طرف مُستخدم آخر أي موجود في جدول المستخدمين يتم عرض رسالة إسم المُستخدم غير متاح و إلا يتم عرض إسم المستخدم متاح على أن تتم عملية التحقق بدون تحديث للصفحة بإستخدام ajax
×
×
  • أضف...