نمایش هر دسته با parent_id
https://lamtakam.com/qanda/2361/نمایش-هر-دسته-با-parentid 0سلام به دوستان لاراولی
من یه پروژه دارم که فرمی شبیه زیر می باشد که اینو با html ساده و با jquery زدم که مثلا اگر کاربر روی تعمیر لپ تاپ کلیک کرد فلان چک باکس هاش ظاهر بشه و....
این هم فایل اچ تی ام ال است
<section id="posts">
<div class="container">
<div class="row">
<div class="col-6 mx-auto">
<div class="card mt-3">
<div class="card-header">
<h4>عنوان</h4>
</div>
<div class="card-body">
<form action="index.html">
<div class="form-group">
<label for="service">خدمات کامیوتری</label>
<select id="service" class="form-control">
<option data-description="توضیحات برای تغییر و تعویض سخت افزار">تغییر و تعویض سخت افزار</option>
<option value="laptop_repair" data-description="توضیحات برای تعمیر لپ تاپ">تعمیر لپ تاپ</option>
<option value="install_windows" data-description="توضیحات برای نصب ویندوز">نصب ویندوز</option>
<option value="backup" data-description="توضیحات برای بکاپ و ریکاوری">بکاپ و ریکاوری</option>
<option value="antivirus" data-description="توضیحات برای نصب نرم افزار و آنتی ویروس">نصب نرم افزار و آنتی ویروس</option>
</select>
</div>
<div class="form-group ">
<p id="description"></p>
</div>
<div class="form-group laptop_repair box">
<p></p>
<input type="checkbox" id="hp">
<label for="hp">HP</label>
<input type="checkbox" id="dell">
<label for="dell">DELL</label>
<input type="checkbox" id="asys">
<label for="asys">ASYS</label>
<input type="checkbox" id="sony">
<label for="sony">Sony</label>
<input type="checkbox" id="fujitsy">
<label for="fujitsy">Fujitsy</label>
<input type="checkbox" id="other">
<label for="other">سایر برندها</label>
</div>
<div class="form-group install_windows box">
<p></p>
<input type="checkbox" id="windows7">
<label for="windows7">ویندوز ۷</label>
<input type="checkbox" id="windows8">
<label for="windows8">ویندوز ۸</label>
<input type="checkbox" id="windows81">
<label for="windows81">ویندوز ۸.۱</label>
<input type="checkbox" id="windows10">
<label for="windows10">ویندوز ۱۰</label>
<input type="checkbox" id="mac">
<label for="mac">MAC</label>
<input type="checkbox" id="windows_other">
<label for="windows_other">سایر</label>
</div>
<div class="form-group backup box">
<p></p>
<input type="checkbox" id="hard">
<label for="hard">هارد</label>
<input type="checkbox" id="laptop">
<label for="laptop">لپ تاپ</label>
<input type="checkbox" id="pc">
<label for="pc">PC</label>
</div>
<div class="form-group antivirus box">
<button class="btn btn-primary">ذخیره</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</section>
سپس من آمدم توی دیتابیس جدول ایجاد کردم categories که با دستور parent_id مال هر کدامشان را با parent_id نمایش میدهد شبیه تصویر زیر
اما چیزی که برای من سخته این است که چطور میشه چک باکسهای انتخاب شده را ذخیره کرد؟ و یا اصلا چطور میشه چک باکسها را مربوط به خودشان نمایش دهیم؟ که بشه id را از جدول categories بگیره و show بشه
$("#select").change(function() {
var color = $(this).val();
if (color == "laptop_repair") {
$(".box").not(".laptop_repair").hide();
$(".laptop_repair").show();
} else if (color == "install_windows") {
$(".box").not(".install_windows").hide();
$(".install_windows").show();
} else if (color == "backup") {
$(".box").not(".backup").hide();
$(".backup").show();
} else if (color == "antivirus") {
$(".box").not(".antivirus").hide();
$(".antivirus").show();
} else if (color == "magenta") {
$(".box").not(".magenta").hide();
$(".magenta").show();
} else {
$(".box").hide();
}
});
computers.blade.php
<form action="{{ route('computers.store') }}" method="post">
{{ csrf_field() }}
<div class="form-group">
<select id="select" name="category_id" class="form-control">
<option>انتخاب نمایید</option>
@foreach($categories as $category)
<option data-description="{{ $category->description }}" value="{{ $category->id }}">{{ $category->name }}</option>
@endforeach
</select>
</div>
<div class="form-group">
<p id="description"></p>
</div>
<div class="form-group">
<button class="btn btn-primary">ذخیره</button>
</div>
<div class="form-group laptop_repair box">
<p></p>
<input type="checkbox" id="hp">
<label for="hp">HP</label>
<input type="checkbox" id="dell">
<label for="dell">DELL</label>
<input type="checkbox" id="asys">
<label for="asys">ASYS</label>
<input type="checkbox" id="sony">
<label for="sony">Sony</label>
<input type="checkbox" id="fujitsy">
<label for="fujitsy">Fujitsy</label>
<input type="checkbox" id="other">
<label for="other">سایر برندها</label>
</div>
<div class="form-group install_windows box">
<p></p>
<input type="checkbox" id="windows7">
<label for="windows7">ویندوز ۷</label>
<input type="checkbox" id="windows8">
<label for="windows8">ویندوز ۸</label>
<input type="checkbox" id="windows81">
<label for="windows81">ویندوز ۸.۱</label>
<input type="checkbox" id="windows10">
<label for="windows10">ویندوز ۱۰</label>
<input type="checkbox" id="mac">
<label for="mac">MAC</label>
<input type="checkbox" id="windows_other">
<label for="windows_other">سایر</label>
</div>
<div class="form-group backup box">
<p></p>
<input type="checkbox" id="hard">
<label for="hard">هارد</label>
<input type="checkbox" id="laptop">
<label for="laptop">لپ تاپ</label>
<input type="checkbox" id="pc">
<label for="pc">PC</label>
</div>
<div class="form-group antivirus box">
<button class="btn btn-primary">ذخیره</button>
</div>
</form>
در اینجا کسی نمیدونه؟ ــ Mahmoud Khosravi در 6 سال قبل | |||
سوال شما خیلی مبهمه. برای «چطور میشه چک باکسهای انتخاب شده را ذخیره کرد؟» خب باید یک جدول میانی داشته باشید که به صورت یک-به-چند دیتای بین parent و childها رو نگهداری می کنه. برای «چطور میشه چک باکسها را مربوط به خودشان نمایش دهیم؟» هم خب باید از دستور JOIN استفاده کنید تا متناسب با هر parent، لیست تمام childهاش رو بگیرید و نمایش بدید. ــ ساناز رضایی در 5 سال قبل |
|||
@ساناز.رضایی متشکرم تو خودت هم میدونی که خیلی سوال مهمی است جواب این سوال هم همینطور ممنون میشم یه سری نمونه کد را برای من بفرستی تا به جوابت رای بدهم ــ Mahmoud Khosravi در 5 سال قبل | |||
من پست خوودرآپدیت کردم ــ Mahmoud Khosravi در 5 سال قبل | |||
سوالی که شما داری از نظر من خیلی واضح و ساده هست. البته من برنامه نویس حرفه ای نیستم ولی این چیزی که شما لازم میخواید خیلی باید ساده باشه. بعد یک نکتع اینکه خانم رضایی فرمودن سوالتون مبهمه، نه مهم. فکر کنم اشتباه خوندید پیام ایشون رو. ــ سعید غلامی در 5 سال قبل | |||
خب باشه حالا هرچی گغته باشن برای من مهم این است که جواب بدی به سوالم رو چکار کنم اممشب باید تحویل بدم ــ Mahmoud Khosravi در 5 سال قبل | |||
من با JOIN کار نکردم ممنون میشم اگر یه سورس کدی را بگزارید و پست خود را بروز کردم ــ Mahmoud Khosravi در 5 سال قبل |