-
المساهمات
225 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
1
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
أجوبة بواسطة معتز المشكلي
-
-
في هذا السؤال سأستعين بمثال عايشته على أرض الواقع في أحد مشاريعي
كتدريب قمت بإنشاء نظام فوترة إلكتروني بسيط يحتوي هذا النظام على مؤسسات يقوم بإنشائها المستخدم مدير النظام ثم من خلال هذه الشركات يتمكن من إصدار فاتورة في مرحله إصدار الفاتورة أرغب بجلب العديد من المعلومات بواسطة ajax jq أولى هذه المعلومات هي بيانات الشركة من خلال القائمة المنسدلة اختار اسم الشركة المقصودة فأتيني عنوانها ورقم تلفيوناتها وغيرها من المعلومات أيضا هذه الشركة لديها أصناف لمنتجاتها فأريد أن يرسل مع الطلب جميع الاصناف في قائمة منسدلة ثم بالضغط على الصنف احصل على المنتج ومعلومات المنتج
العلاقة بن الصنف والشركة متعدد إلى متعدد
العلاقة بين الصنف و المنتج متعدد إلى متعدد
يرجع سبب عدم قدرتي على جلب المعلومات إلى سببين الاول عدم فهمي لطريقة عمل كود ajax jq فأنا لا أعرف منطقة جلب المعلومات من الطلب كيف تعمل والشق الثاني لا أعرف كيف أقوم بدمج المعلومات القادمة من الطلب في الحقول
أرجو شرح كيف تعمل ajax jq داخل laravel
كيف أقوم بجلب علاقات مثل (متعدد إلى متعدد|متعدد إلى واحد)
وشكرا للجميع
-
لدي نموذج لإصافة المنتجات ولان لا يتم ارسال النموذج ولا يظهر أي خطأ أبدا لماذا ؟
فيما يلي جميع الملفات الخاصة بالنموذج
-
شكرا
بتاريخ الآن قال عبود سمير:مرحباً معتز،
يوجد لديك خطأ في تعريف المتحكم:
class UserConroller extends Controller // الصواب class UserController extends Controller
في صفحة العرض profile يوجد خطأ أيضاً:
<img src="{{asser(images/avatar).$user->avatar}}" class="w3-cercle" style="size: 255px"> {{-- الصواب --}} <img src='{{asset("images/avatar/$user->avatar")}}' class="w3-cercle" style="size: 255px">
كما أنك في حالة إنشاء مستخدم جديد سيأخذ الصورة default.png لكن إسم الصورة لديك في المجلد هو avatar.png يجب تغييرها لنفس الإسم حتى تظهر الصورة الإفتراضية في حالة عدم وضع صورة.
ملاحظة: هذا القسم هو للأسئلة العامة و ليس لأسئلة الدورات فإن واجهتك أي مشكلة أو إستفسار يُستحسن طرحه أسفل الدرس و سيُتابع معك المدربين هناك.
بخصوص الإصدارات الخاصة بلارافيل فلا يوجد فرق كبير بينها و من الأفضل لك التعرف على عدة طرق لعمل شيء ما. كما أن الأكاديمية تقوم بتحديث و إضافة مسارات جديدة في العديد من الأوقات. و من المؤكد أنهم سيأخذون ملاحظاتك كلها بعين الإعتبار في تحديثاتهم المستقبلية.
كما أن معالجة الأخطاء شيء مهم و هي ما ستزيد في خبرتك و تطوير مستواك.
بالتوفيق.
شكرا
-
بتاريخ الآن قال محمد أبو عواد:
مرحبا مجددا
هل يمكنك ارفاق ملفات المشروع؟
شكرا لكلكن لدي استفسار هل يتم استخدام إصدارات لا رافيل مختلفة لتعويد المتدرب على مختلف بيئات لا رافيل أرجوا التوضيح ؟
ملاحظة
من الجلي جدا أن المدرب يستخدم إصدارا اقدم من إصداري مما تسبب في إرباكي وقد قمت بمعالجة العديد من المشاكل منذ بدأ المسار دون أن أسأل فأنا لا أسأل إلا للضرورة لكي أتقدم في المسار وأكتسب المهارات بسرعة أرجو إن كان الإصدار من لا رافيل الذي يستخدمه المدرب قديما أن يتم تحديث كافة مسار إنستقرام حاسوب لأني كمتخرج سأعمل على ما عودتني عليه الأكادمية ولن أهتم للقديم وكذا سأتابع من حيث تركتني الأكادمية أي من الإصدار 8 وما بعده مشكله كهذه ربما حللتها بنفسي في المسار السابق ولكنها استعصت علي في هذا المسار (رغم تصحيح الأخطاء الإملائية التي نبهتوني عليها مشكورين)
ملاحظة أخيرة
كل مدرب (مع إحترامي لجمعيكم) ينصحنا بكتابة الكود بطريقة أفضل من المدرب الأساسي لماذا لا يتم إلزام المدرب الأساسي بكتابة الكود وفق أفضل النهج المطروحة
وشكرا
-
بتاريخ الآن قال محمد أبو عواد:
مرحبا معتز
لنعدل هذا السطر$user = User::find(auth()->user()->id);
ليكون كذلك
$user = User::find(auth()->id());
وأيضا هذا السطر
oute::get('/', function () { ^^^^
لديك مشكلة في كتابة كلمة Route حيث انك نسيت حرف R
وأيضا لديك مشكلة في هذا السطرRoute::get('user/profile', [UserConroller::class, 'edit']); ^^^^^^^^^
حاول تعديل كلمة UserController
حاول القيام بالتعديلات ثم حاول مرة أخرى
شكرا لكلم يحصل شيء لا زالت صفحة 404 NOT FOUND تظهر
- 1
-
الكود من صفحة المتحكم
public function edit() { //عرض الصفحة الشخصية الخاصة بتعديل البيانات $user = User::find(auth()->user()->id); return view('auth.profile',compact('user')); }
الكود من صفحة الويب
oute::get('/', function () { if (Auth::check()) { return redirect('/home'); }else{ return view('Auth/login'); } }); Route::group(['middleware' => ['auth']], function() { Route::get('user/profile', [UserConroller::class, 'edit']); }); Auth::routes();
صورة الملف المقصود أدناه
مع ذلك لا تظهر صفحة الملف الشخصي لي لماذا؟
- 1
-
<form action="/projects/{{$project->id}}/tasks/{{$task->id}}" method="POST" class="w3-bar-item w3-left w3-large" style="display:inline;padding:0;margin:0;"> @method('PATCH') @csrf <input type="checkbox" name="done"class="w3-check cnsb-bor-green w3-border-left" {{$task->done ? 'disabled':''}} onchange="this.form.submit()"> </form>
لماذا يتعطل الــــinput أعلاه بنفسه وليس فقط الأوامر المرتبطة به .
-
لدي هذا المثال الذي يعرض المنطقة حسب التقسيم الجغرافي للمملكة
$saudi_regions = [ 'مناطق المملكة'=>'منطقة مكة المكرمة منطقة المدينة الخ', ' makkah_Region'=>[1,2,3], ' madinah_Region'=>[1,2,3], ' al_Qassim_Region'=>[1,2,3], ' eastern_Region'=>[1,2,3], ' asir_Region'=>[1,2,3], ' tabuk_Region'=>[1,2,3], ' hail_Region'=>[1,2,3], ' northern_Border_Region'=>[1,2,3], ' jizan_Region'=>[1,2,3], ' najran_Region'=>[1,2,3], ' al_Baha_Area'=>[1,2,3], ' al_Jouf_Region'=>[1,2,3], ]; ?> <?php foreach ($saudi_regions as $key => $value): ?> <?php for ($i=0; $i < count($key) ; $i++):?> <?php echo "$('#select2').append('<option value='هنا يتم جلب مناطق المملكة بصفة عامة من خلال السطر الاول'>'+kingdom_regions_matrix[i]+'</option>')"; ?> /* وفي داخل الوسم ارغب بجلب المناطق الفرعية التي هي عبارة عن مصفوفة مقابل المفتاح فتكون النتيجة <option class="riyadh_Region">المزاحمية </option> <option class="riyadh_Region">عسير </option> <option class="riyadh_Region">الخ</option> ثم <option class="makkah_Region">جدة</option> <option class="makkah_Region">الجموم</option> <option class="makkah_Region">الخ</option> الخ كيف يتم ذلك */ <?php endfor ?> <?php endforeach ?>
وأيضا المدن التي تتبع هذه المنطق بواسطة جافا سكريبت تم حل الموضوع بطريقة استهلكت واخصرت الكثير من الكود أي بمقدار 50 بالمائة ولاكن أرغب عرض الكود ب php كونه أكثر سهولة وانضف في الكود انضر للمثال أدناه ثم أجب
- 1
-
بتاريخ 14 ساعات قال سامح أشرف:
يبدو أن هناك إختلاف بين الكود المرفق والصور، ربما قام Laravel بحفظ نسخة من ملف index.blade.php في الملفات المؤقتة، ويمكنك تجربة الأمر التالي وإعادة المحاولة:
php artisan view:clear
لقد قمت بذلك الامر يدويا وغيره
بتاريخ 14 ساعات قال عبود سمير:هناك عدة أخطاء حيث أن projects هو عبارة عن مُتغير يتم تمريره من المتحكم:
$projects = auth()->user()->projects;
في الأخير أنت تنادي على العلاقة projects لكن في النموذج User قمت بتسمية العلاقة ب project لذلك يجب تصحيح ذلك لتُصبح العلاقة:
public function projects() { return $this->hasMany(Project::class); }
أنت لا تقوم بتحديد ماهو المفتاح الثانوي في العلاقة لذلك يجب أن تحترم العُرف و تقوم بتسميته user_id و ليس users_id و في هذه الحالة لديك طريقتين:
تغيير users_id إلى user_id في كل من ملف التهجير:
$table->foreignId('user_id')->references('id')->on('users')->onDelete('cascade');
تنفيذ أمر التهجير:
php artisan migrate:fresh
ثم تغيير الحقل من users_id إلى user_id في مصفوفة fillable في النموذج Project ثم تغيير التابع store في المتحكم ProjectController ليُصبح:
<?php public function store(Request $request) { $data = request()->validate([ "title" => 'required', "description" => 'required', ]); $data['user_id'] = auth()->id(); Project::create($data); return redirect('/projects'); }
و بهذا الشكل ستعمل.
الطريقة الثانية بترك الحقل كما تريد users_id لكن تحتاج إلى تغيير العلاقة بحيث تُحدد المفتاح الثانوي بهذا الشكل:
public function projects() { return $this->hasMany(Project::class, 'users_id'); }
و بطبيعة الحال تجعل الدالة store بالشكل التالي:
<?php public function store(Request $request) { $data = request()->validate([ "title" => 'required', "description" => 'required', ]); $data['users_id'] = auth()->id(); Project::create($data); return redirect('/projects'); }
شكرا.لا اتبعت العرف والطريقة الاولى.
-
استغرقت جهدي لحل هذين الخطئين
- عدم دخول البيانات في قاعدة البيانات
- الخطأ الوارد في الصورة أدناه طبعا يذهب الخطأ إذا كان داخل الدالة الشرطية
@if (is_array($projects) || is_object($projects)) ...
ولكن تعمل الصفحةجيدا مع المدرب ومن دون الدالة الشرطية لماذا ؟
-
لم يتم إسال بريدي الالكتروني رغم اتباعي جميع اشرادات المدرب لماذا ؟
-
بتاريخ 8 ساعات قال Abdullah Muhammad:
قم بتحميل النسخة الأخيره من node من هنا
في حالة لم يعمل الأمر معك قم بإتباع الخطوات التاليه- قم بإنشاء مجلد بإسم "nodejs" في أحد المسارين التاليين "C:\Program Files (x86)" أو "C:\Program Files"
- من قائمة start قم بالبحث عن "edit the system environment variables" وقم بفتحها
- من قائمة Advanced قم بالضغط على Environment Variables
- في الجزء العلوي قم بالبحث عن "path" وقم بالضغط عليها سوف تنبثق لك نافذه (مرفق صورة للتوضيح)
- قم بالضغط على "New" ومن ثم قم بلص المسار الذي أنشأت فيه المجلد في الخطوه واحد سيكون بالشكل“C:\Program Files (x86)\nodejs” أو “C:\Program Files \nodejs “.
- بعد ذلك قم بالضغط على "OK"
قم بإستخدام الأمر مرة أخرى وسوف يعمل معك بإذن الله
شكرا أخي شرحك ينجح
-
-
انا في هذا الدرس من دورة تطوير تطبيقات الويب بستخدام php وقد نفذت جميع الخطوات بطريقة سليمة ولكن الامر npm install لا يعمل بتاتا سواء في طرفية المحرر أو في git أو cmd
لماذا؟
-
أرغب في استخدام هذا المشروع ولاكن لاأعرف ل جيت هاب هل من الممكن ارشادي الى كيفية استخدام هذا المشروع؟
-
-
-
-
لماذا لا يقبل ملف التعديل على الجدول في حالتي يحمل الاسم (2021_04_05_005931_change_posts_create_table) التعديل مرتين على عمودا وبدل من ذلك يرمي العبارة (Nothing to migrate.) رغم تأكدي من تغيير القيم وإعادة حفظ الملف؟.
-
شكرا من القلب أخي (نصائحك دائما تنجح) وفقك الله
- 1
-
هذا الأخطاء معي من يومين استخدمت معه كل الحيل ولم تنفع ورغم حذفي وتنصيني للمشروع و composer و laravel عدة مرات
-
عدم التعرف على المسار رغم تعريفه بطريقة صيحة ويظهر (404
NOT FOUND) - بعد فترة من البرمجة المستمرة يتجمد المشروع ولا يقبل التعديلات بتاتا رغم محاولات حذف الكاش وإعادة تعيينه
وغيرها من الاخطاء التي تكتشفها اثناء تشغيل المشروع ولكن هذه أبرزها
أطلع على الملف المرفق وأرشدني الى الحل جزاك الله خيرا
-
عدم التعرف على المسار رغم تعريفه بطريقة صيحة ويظهر (404
-
بتاريخ 5 ساعات قال محمد أيت لعرايك:
لإعداد نطاق مخصص في laravel ، تحتاج إلى تهيئة مضيف apache . ولكي تقوم بذلك فأنت تحتاج إلى تحرير ملف “httpd-vhosts.conf” الموجود بالمسار
C:\wamp\bin\apache\apache2.4.23\conf\extra\httpd-vhosts.conf
إدا كنت تستخدم wamp أو
C:\xampp\apache\conf\extra\httpd-vhosts.conf
إدا كنت تستخدم xamp .
إفتح الملف وضع الشيفرة التالية:
<VirtualHost *:80> DocumentRoot “C:/xampp/htdocs/project-name/public” ServerName blog.test </VirtualHost>
أيضًا ، نحتاج إلى تعديل ملف "hosts". الخاص بنظام التشغل , إفتح الملف
C:\Windows\System32\drivers\etc\hosts
ثم ضع هذا السطر في نهايته ثم إحفظه
127.0.0.1 blog.test
الآن ، افتح WAMP (XAMPP) وأعد تشغيل خادم Apache. في متصفحك ، انتقل إلى blog.test هذه هي الطريقة التي يمكنك بها إعداد مضيف افتراضي في خادم xampp أو wamp لـ laravel.
تم عمل اللازم السؤال كان على انه لا تعمل الصفحة على النطاق المخصص وتتجمد ولا تشتغل الا على النطاق ...127 بدل blog.test
بتاريخ 6 ساعات قال بلال زيادة:يبدو انك اخطأت في عمل النطاق الخاص بك على الخادم, ما هو البرنامج الذي تستخدمه.
لا كان النطاق يعمل قبل ذلك بكل سلاسة
-
-
كيف اقوم بجلب العلاقات بواسطة ajax jq في laravel
في PHP
نشر
شكرا جزيلا على الإجابة السابقة
قمت بجلب البيانات بطريقه تشابه ما هو موجود أعلاه وبقيت بعض الميزات التي لم لا أعرف كيف أقوم بإدراجاها في التطبيق قمت بشرحها على المسار التالي
invoice-generator/invoice/create
في المشروع أدناه
https://github.com/thankyouplatfo/invoice-generator.git
تكمن المشكلة عندي الان في ملئ اوسمة html بالنتائج التي حصلت علىيها إذا كانت الوسم (في حالتي select) يتطلب حلقة