سلام دوستان
من بخش کامنت رو پیاده سازی کردم و هرکامنتی ک گذاشته میشه مربوط به پست خودشه ، الان میخام بخش reply رو طراحی بکنم ب نظر شما چیکار کنم؟
وقتی یکی کامنت میزاره خب در اصل یک ایدی براش تو دیتابیس ذخیره میشه و الان من چجوری بگم کسی ک داره ریلای میکنه پیامش مساوی باشه با ایدی اون کامنت؟ خیلی سرچ کردم ب جایی نرسیدم اگ کسی ی توضیح خوب داره برام بگه ممنون میشم، شرط هم میزارم انجام نمیشه نمیدونم من اشتبا انجام میدم یا ی مدل دیگس!
سلام چون پی اچ پی خام هست اینجا توضیح دادن یکم سخته میتونی باهام داخل تلگرام ارتباط بگیری برات توضیح بدم ولی بخام خلاصه بگم باید یک فیلد در دیتابیس به نام parent_id اضافه کنی و پاسخ هایی که به عنوان ریپلای هستن رو یک اینپوت هیدن براش بزاری و مقدار parent_id رو برابر با ایدی اون نظر ثبت شده اصلی بزاری و هنگام نمایش نظرا اونایی که parent_id دارن رو زیر محموعه نظرات اصلی مربوطشون بزارین
شاید پاسخ شما همینجا باشد
این کد جدول نظرات من هست
Schema::create('comments', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id')->nullable();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->string('name');
$table->text('text');
$table->boolean('is_approved')->default(false);
$table->unsignedBigInteger('post_id');
$table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
$table->unsignedBigInteger('parent_id')->default(0);
$table->timestamps();
});تخصص: برنامهنویس وب: Python :: Django :: Node :: Php :: Laravel :: JS :: React :: React Native
سلام از فریمورک استفاده می کنید؟؟ یا فقط php
@mrn
ممنون از پاسخگوییتون ، منم یک فیلد ایجاد کردم ، برا مثال اقای x کامنت گذاشته الان اقای y میخاد پاسخ بده من چجوری باید مقدار اقای x رو بگیرم؟
چون وقتی مقدار میگیرم اینطوری ذخیره میشه:
فرض کنین این x ی کامنت گذاشته و ایدی این کامنت 1 و نفرات بعدی هم همینطوری 2 . 3 .4. 5 و ....
وقتی مقدار این کامنت x رو میگیرم و میگم هرچی که به این x پاسخ داده شد ایدی این کامن بره ذخیره بشه قسمت parent_id ب قول خودتون ولی اینطوری نمیشه ، ب جاش ادامه عدد اون بالا ک گفتم 6 . 7 .8. 9 و .... ب ترتیب ذخیره میشه
ی خورده راهمایی بکنین ک باید چیکار کنم دقیق مثل شما بشه و این مشکلات رو نداشته باشم
نگا کنید تو صفحه تکی مقالات
این کد فرم برای ارسال نظر اصلی هست بدون parent_id و در پاسخ هیچ کس نیست
<form wire:submit.prevent="SendNewComment" class="row max-auto">
<div class="col-12">
@error('comment.text')
<span class="text-danger">{{ $message }}</span>
@enderror
<textarea wire:model.lazy="comment.text" rows="5" placeholder="نظر خود را درباره این مطلب با دیگران به اشتراک بگذارید"></textarea>
</div>
@error('comment.name')
<span class="text-danger">{{ $message }}</span>
@enderror
<div class="col-12 col-md-6">
<input wire:model.lazy="comment.name" type="text" placeholder="نظر شما به چه نامی در سایت منتشر شود؟">
</div>
{{-- <div class="col-12 col-md-6">
<input type="email" placeholder="ایمیل">
</div> --}}
<div class="col-12">
<button type="submit" class="btn1 mx-auto ms-md-0">ارسال نظر</button>
</div>
</form>
حالا شما تو php خام روت درست کنید و ادرس روت رو بزارید تو action و اطلاعات ورودی رو بگیرید و کامنت بدون parent_id ذخیره کنید
بعد پایین لیست تمام نظرات رو دارم
داخل لیست هر نظر یک فرم دارم که برای پاسخ به اون نظر هست و display همشون none وقتی رو ایکون زدم نشون میدم
@foreach ($comments as $item)
<div class="comment-body">
<div class="user-meta">
<div class="user-img">
<img src="{{ asset('/user-assets/images/logo.png') }}" class="img-fluid">
</div>
<div class="user-name">
<p>{{ $item->name }}</p>
@if (!$item->user)
<p class="user-type">مهمان</p>
@endif
</div>
<div class="comment-time">
در
<span>{{ jdate($item->created_at)->format("j F Y G:i") }}</span>
<p>درباره این مطلب گفته:</p>
</div>
</div>
<div class="comment-content">
<p>{{ $item->text }}</p>
</div>
<div class="reply-form">
<form wire:submit.prevent="SendResponseComment" class="row max-auto">
<div class="col-12">
@error('response.text')
<span class="text-danger">{{ $message }}</span>
@enderror
<textarea wire:model.lazy="response.text" rows="5" placeholder="نظر خود را درباره این مطلب با دیگران به اشتراک بگذارید"></textarea>
</div>
@error('response.name')
<span class="text-danger">{{ $message }}</span>
@enderror
<div class="col-12 col-md-6">
<input wire:model.lazy="response.name" type="text" placeholder="نظر شما به چه نامی در سایت منتشر شود؟">
</div>
{{-- <div class="col-12 col-md-6">
<input type="email" placeholder="ایمیل">
</div> --}}
<div class="col-12">
<button type="submit" class="btn1 mx-auto ms-md-0">ارسال نظر</button>
</div>
</form>
</div>
شما داخل فرم ارسال پاسخ یک فیلد بزارید به عنوان parent_id تا مشخص بشه حالا با php خام نمیدونم به چه صورت میخاید پاس بدید
تو لاراول id اون نظر والد رو در action قرار میدیم
واااااای خد اازت راضی باشه ب محض اینکه گفتین اینپوت انجام دادم مشکلم حل شد تونستم اوکیش کنم خیلییی ممنون سه روز بود درگیر این بودم
@ajdar9667