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

السؤال

نشر (معدل)

مثلا لدي جدول  يحتوي علي عمودين الاسم ورقم الهاتف  وفي المتحكم controller  قمت بعمل متغير      اسمه $ table data  يساوي هذا المتغير  جدول قاعده البيانات  db: table اسم الجدول وقمت بتمرير هذا المتغير من خلال الداله compact  كيف أعرض محتوي الجدول في صفحه العرض view .   

تم التعديل في بواسطة سامح أشرف
توضيح السؤال

Recommended Posts

  • 0
نشر

يجب أن تقوم أولًا بجلب البيانات التي تريدها من قاعدة البيانات، وهذه العملية تتم داخل المتحكم Controller، كالتالي:

$users = User::where('name', 'Sameh')->get();
return view('view-name', compact('users');

بهذا الشكل تم جلب البيانات من قاعدة البيانات وتم تمريرها إلى الملف view-name.blade.php

يمكنك الآن أن تقوم بعمل حلقة تكرار foreach لطباعة بيانات المستخدمين في الملف view-name.blade.php، على النحو التالي:
 

@foreach ($users as $user)
  <div>
    <span>Name: {{ $user->name }}</span>
    <span>Phone: {{ $user->phone }}</span>
  </div>
@endforeach

 

  • 0
نشر

ما هي العروض؟

العروض هي فقط ملفات PHP منفصلة، وعند استخدامك للتابع المساعد view هو فقط يقوم باستدعاء ملف العرض باستخدام require

كيف نشارك متغيرات مع ملفات PHP ؟

أولا تقوم بتعريف وتعيين قيمة للمتغير قبل استدعاء الملف، ممكن أن تكون القيم معرفة يدويا أو يتم جلبها من مكان ما (في حالتك من قاعدة البيانات)، ثم تستدعي الملف حينها ستكون الشيفرة داخل الملف قادرة على الوصول للمتغيرات المعرفة سابقًا، كالتالي:

<?php

// controller.php
$x = 5;
require 'view.php';


// view.php
echo '<div>'. $x .'</div>'; // $x يمكننا الوصول للمتغير

كيف نمرر المتغيرات في Laravel

العملية السابقة نفسها لكن بدل استدعاء ملف العرض بدلالة مساره النسبي أو المطلق، فإن الدالة view تساعدنا على ذلك بذكر مسار ملف العرض نسبة للمجلد views ومفصولة قطع مساره بنقاط، ولمشاركة متغيرات معينة مع ملف العرض هذا نمررها كمعامل ثان للدالة view (على شكل مصفوفة ارتباطات)، ليصبح المثال السابق كالتالي:

<?php

// controller.php
$x = 5;
return view('view', ['x' => $x]);


// view.php
echo '<div>'. $x .'</div>'; // $x يمكننا الوصول للمتغير

 

يمكنك القراءة أكثر عن العروض في Laravel وكيفية استخدامها في المقال التالي:

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...