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

laravel - جلب عدد معين من الحقول

Hafsa Aly

السؤال

السلام عليكم

اذا اردت بهذه الدالة بدلا من الحصول على كل حقول الجدول الحصول على حقلين فقط فكيف اكتبها

public function index()
    {
        $projects = auth()->user()->projects;
          return view('projects.index', compact('projects'));
    }

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يوجد عدة طرق للقيام بذلك، منها استخدام paginator كما يلي:

public function index()
    {
        $projects = auth()->user()->projects::paginate(2);
          return view('projects.index', compact('projects'));
    }

نقوم بكتابة عدة السجلات التي نريد الحصول عليها كمعامل للتابع paginate

في هذه الحالة سيحتوي المتغير على instance من الصنف Paginator، و سيتم تخزين البيانات الخاصة بك أسفل مفتاح key يسمى data، هذا في حالة ال JSON 

{
   "total": 50,
   "per_page": 15,
   "current_page": 1,
   "last_page": 4,
   "first_page_url": "http://laravel.app?page=1",
   "last_page_url": "http://laravel.app?page=4",
   "next_page_url": "http://laravel.app?page=2",
   "prev_page_url": null,
   "path": "http://laravel.app",
   "from": 1,
   "to": 15,
   "data":[
        {
            // Record...
        },
        {
            // Record...
        }
   ]
}

أو يمكنك استخدام الطريقة التالية في النسخ الأقدم من laravel مثل laravel 5 مثلًا:

public function index()
    {
        $projects = auth()->user()->projects::take(2)->get();
          return view('projects.index', compact('projects'));
    }

و في النسخ الأحدث يمكنك استخدام الطريقة التالية:

public function index()
    {
        $projects = auth()->user()->projects::all()->take(2);
          return view('projects.index', compact('projects'));
    }

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 21 دقائق مضت قال Yomna Raouf:

يوجد عدة طرق للقيام بذلك، منها استخدام paginator كما يلي:


public function index()
    {
        $projects = auth()->user()->projects::paginate(2);
          return view('projects.index', compact('projects'));
    }

نقوم بكتابة عدة السجلات التي نريد الحصول عليها كمعامل للتابع paginate

في هذه الحالة سيحتوي المتغير على instance من الصنف Paginator، و سيتم تخزين البيانات الخاصة بك أسفل مفتاح key يسمى data، هذا في حالة ال JSON 


{
   "total": 50,
   "per_page": 15,
   "current_page": 1,
   "last_page": 4,
   "first_page_url": "http://laravel.app?page=1",
   "last_page_url": "http://laravel.app?page=4",
   "next_page_url": "http://laravel.app?page=2",
   "prev_page_url": null,
   "path": "http://laravel.app",
   "from": 1,
   "to": 15,
   "data":[
        {
            // Record...
        },
        {
            // Record...
        }
   ]
}

أو يمكنك استخدام الطريقة التالية في النسخ الأقدم من laravel مثل laravel 5 مثلًا:


public function index()
    {
        $projects = auth()->user()->projects::take(2)->get();
          return view('projects.index', compact('projects'));
    }

و في النسخ الأحدث يمكنك استخدام الطريقة التالية:


public function index()
    {
        $projects = auth()->user()->projects::all()->take(2);
          return view('projects.index', compact('projects'));
    }

 

ولكن هنا لم يحدد اسماء الحقلين .. اقصد لم نحدد الحقلين الذي اود اختيارهما

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 5 دقائق مضت قال Hafsa Aly:

ولكن هنا لم يحدد اسماء الحقلين .. اقصد لم نحدد الحقلين الذي اود اختيارهما

في هذه الحالة سنحتاج لاستخدام التابع where.

مثلًا هنا نريد جلب عشر سجلات بعد السجل الذي له ال id = 3

 User::where('id','>=',3)->take(10)->get();

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

بإمكانك إستخدام select لتحديد الحقول التي تريدين جلبها مثلاً:

$projects = auth()->user()
              ->projects()
              ->select('field1', 'field2')
              ->get();

و في هذه الحالة سيتم جلب كافة مشاريع العضو الحالي على شكل مجموعة كائنات من الصنف Project و كل كائن لديه خاصيتين هما الحقلين الذين تم تحديدهما.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...