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

تعريب كاربون و الترتيب من الاحدث ( لارافيل )

علي العبدالله2

السؤال

السؤال الاول :
هل يوجد طريقة لتعريب كاربون 

مثلا هذه المقالة قبل ساعة

يقوم بكتابة 1 hour ago 

هل يمكن تعريبها ؟

 

السؤال الثاني : 

في باني الاستعلامات اذا اردنا ان نضع المقالات من الاحدث نقوم بكتابة latest

او من Order By 

 

لكن في ال Models كيف نقوم بعمل ذلك ؟

Post::All() ?

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

Recommended Posts

  • 1
بتاريخ 18 دقائق مضت قال علي العبدالله:

السؤال الاول :
هل يوجد طريقة لتعريب كاربون 

مثلا هذه المقالة قبل ساعة

يقوم بكتابة 1 hour ago 

هل يمكن تعريبها ؟

إن كاربون يدعم العديد من اللغات ومنها العربية دون الحاجة لاستخدام مكتبات إضافية، يمكنك في أول الصفحة بين سطور التضمين ومباشرة بعد تضمين كاربون اختيار اللغة على الشكل التالي:

use Carbon\Carbon;
Carbon::setLocale('ar');

 

بتاريخ 18 دقائق مضت قال علي العبدالله:

السؤال الثاني : 

في باني الاستعلامات اذا اردنا ان نضع المقالات من الاحدث نقوم بكتابة latest

او من Order By 

يوجد العديد من الطرق وكلها تؤدي إلى نفس النتيجة لذلك يمكنك استخدام النمط الذي تفضلّ، مثال:

$newss = News::orderBy('created_at', 'desc')->take(10)->get();

أما في حال كان قصدك في post:All الحصول مثلاُ على آخر مقالات ضمن تصنيف أو مجموعة محددة، يمكنك كتابة التالي:

//الحصول على المجموعات
$categories = Category::all();

//وضع النتيجة النهائية
$latest_posts_by_category = [];


$ids = [];


foreach($categories as $category){
            
    $post = Post::with(['categories' => function($query){
                $query->latest()->first();
            }]) 
            ->latest()
            ->whereHas('categories', function($query) use($category) {
                $query->whereName($category->name);
            })->take(1)->first();

  
    if(!in_array($post->id, $ids)){
        $latest_posts_by_category[] = $post;
        $ids[] = $post->id;
    }
}
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 18 دقائق مضت قال علي العبدالله:

السؤال الاول :
هل يوجد طريقة لتعريب كاربون 

مثلا هذه المقالة قبل ساعة

يقوم بكتابة 1 hour ago 

هل يمكن تعريبها ؟

 

السؤال الثاني : 

في باني الاستعلامات اذا اردنا ان نضع المقالات من الاحدث نقوم بكتابة latest

او من Order By 

 

لكن في ال Models كيف نقوم بعمل ذلك ؟

Post::All() ?

السؤال الأول: بشكل افتراضي , سيقوم Eloquent بتحويل الأعمدة التي تم إنشاؤها و تحديثها و حذفها إلى مثيلات من Carbon. لذلك ، يجب أن تكون شفرتك كما يلي: 

$comment->created_at->diffForHumans();

السؤال الثاني يمكنك فعل التالي 

$latestPosts = Genre::with('latestPosts')->orderBy('name')->get();
public function latestPosts()
{
    return $this->hasManyThrough('App\Models\Post', 'App\Models\Band')
        ->orderBy('id', 'desc')
        ->take(5)
        ->get();
}

or

public function latestPosts()
{
    return $this->posts()->latest()->take(5)->get();
}

 

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

  • 0

يُمكنك إستخدام Carbon باللغة العربية عن طريق إضافة السطر التالي لمُزود الخدمة AppServiceProvider في الدالة boot:

Carbon::setLocale('ar');

و لا تنسى إستدعاء الكلاس فوق:

use Carbon\Carbon;

أما لجلب السجلات من الأحدث إلى الأقدم عن طريق Eloquent يُمكنك إستخدام نفس الدوال المُتاحة لباني الإستعلامات فهي متاحة أيضاً ل Eloquent بنفس الأسماء مثلاً

$posts = Post::latest()->get();

// أو 

$posts = Post::latest()->paginate(15);
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال علي العبدالله:

ماذا يعني هذا الكود؟

يُسمى الترقيم و يعني جلب البيانات على شكل صفحات في كل صفحة 15 سجل و ذلك حتى لا نجلب كل البيانات دفعة واحدة 

و عند عرض البيانات إذا تصفحنا:

domain.com/posts

سيتم عرض أول 15 سجل أما إذا تصفحنا:

domain.com/posts?page=2

فسيتم عرض الصفحة الثانية من السجلات.

للحصول على معلومات أكثر يُمكن القراءة عن الموضوع: ترقيم الصفحات Pagination في 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...