मेरी साइट पर, उपयोगकर्ता "स्थिति" पोस्ट कर सकते हैं, और अन्य उपयोगकर्ता उन स्थितियों पर उत्तर/टिप्पणी कर सकते हैं। मेरी साइट के सामने वाले पृष्ठ पर, उदाहरण के लिए, मेरे पास पिछले 3 दिनों के सबसे पसंदीदा स्थिति हैं।अधिक स्पष्ट हो रहा है Laravel में AJAX के माध्यम से कई संबंध प्रश्न?
मेरी HomeController.php में:
$statuses = Status::where('is_image', 1)
->where('is_mature', 0)
->where('created_at', '>=', Carbon::now()->subHours(168))
->orderBy('like_count', 'desc')
->take(6)
->get();
स्थितियां भी उत्तर हो सकता है। उत्तर स्थिति तालिका के समान तालिका का उपयोग करते हैं। उत्तर "माता-पिता" स्थिति के साथ बहुत अधिक स्थिति हैं, और नियमित स्थिति केवल "माता-पिता" के बिना स्थिति होती है।
मॉडल status.php से:
home.blade.php:
public function scopeNotReply($query) {
return $query->whereNull('parent_id');
}
public function replies() {
return $this->hasMany('CommendMe\Models\Status', 'parent_id');
}
तो मेरी मुख पृष्ठ पर वापस
है, तो यहां स्थितियां घर पृष्ठ पर लोड कर रहे हैं:
@if ($statuses->count())
@foreach ($statuses as $status)
<div class="post-container">
...
blah blah blah
...
@foreach ($status->replies->reverse()->slice(0, 3) as $reply)
<div class="status-reply-content">
...
blah blah blah
...
</div>
@endforeach
@if (count($status->replies) > 3)
<a href="#">
View More Comments ({{ count($status->replies) }})
</a>
@endif
</div>
@endforeach
@endif
मैं जो चाहता हूं वह 3 टिप्पणियों के दूसरे सेट को लोड करने के लिए "अधिक टिप्पणियां देखें" बटन के लिए है।
यह आसान होगा अगर इन्हें पृष्ठित किया जा रहा था। असल में, मेरी साइट पर कहीं और मैं AJAX के माध्यम से अधिक छवियों को लोड करता हूं। इस तरह:
if($request->ajax()) {
return [
'images' => view('browse.partials.fullview_partial')->with('images', $images->appends(request()->only('query')))->render(),
'next_page' => $images->nextPageUrl()
];
}
हालांकि यह AJAX के माध्यम से पेजिंग के अगले सेट में लोड होने पर निर्भर करता है। जबकि $status->replies
संबंधों को अंकनित नहीं किया जा रहा है।
तो मैं इस परिदृश्य में और अधिक उत्तरों कैसे लोड कर सकता हूं?
संपादित करें:
यहां तक कि एक वैकल्पिक समाधान भी मदद करेगा।
ऐसा लगता है कि स्थिति और उत्तरों अलग-अलग तालिकाओं में संग्रहीत किए जाने पर यह बहुत आसान और अधिक तार्किक होगा। * ऐसा नहीं कर रहा है * क्या कर रहा है? मेरा मतलब है, एक "उत्तर" कभी भी अपने माता-पिता के बिना "स्थिति" नहीं होगा, इसलिए उन्हें एक साथ क्यों स्टोर करें? – DelightedD0D
मैं वास्तव में इस बिंदु पर ऐसा नहीं करता। यह एक अंतिम उपाय होगा। –
इसके अलावा, अगर मैं एक उत्तर तालिका बनाना चाहता था, तो भी मुझे नहीं पता कि मैं जवाबों को कैसे पगड़ सकता हूं, जब तक कि आप लार्वेल में घोंसला नहीं कर सकते? –