کاربر تایید شده
آخرین فعالیت ۴ ماه پیش

@hadi723456

پارس کلیکی از ۶ ماه پیش

تجربه

2000

  • ۵ ماه پیش @hadi723456 به بحث ساخت یک دسته بندی جواب داد.

    ممنون از راهنماییتون مشکلم حل شد ^_^ کاری که کردم به این صورته

    اول که توی دیتابیس یه category_id یه parent_id و یه category_name میسازید. اون هایی که parent اصلی هستن مقدار parent_id اش باید NULL باشه.

    توی مدل Category

        public function parent()
    {
        return $this->belongsTo(Category::class, 'parent_id');
    }
    
    public function children()
    {
        return $this->hasMany(Category::class, 'parent_id');
    }

    توی کنترولر categories به get زیر احتیاج داریم.

        public function create()
    {
        $categories = Category::with('children')->whereNull('parent_id')->get();
        return view('admin_user.dashboard.pishniaz.category.category_create', compact('categories'))->with(['panel_title' => 'افزودن دسته بندی', 'panel_description' => 'در این قسمت میتوانید اطلاعات دسته خود را اضافه کنید.']);
    }

    این از روش بازگشتی استفاده میشه پس باید کار زیر رو انجام بدین. به این صورت که اول در قسمت view فرم

    <div class="form-group">
            <label class="col-sm-2 control-label">دسته بندی</label>
            <div class="text-right col-sm-10">
                <select name="category_id" class="select2 form-control" id="category_id">
                    [<samp dir="ltr">@if](/@if)($categories && count($categories)>0)
                        <?php
                        $cnt = 0;
                        ?>
                        [<samp dir="ltr">@foreach](/@foreach)($categories as $category)
                            [<samp dir="ltr">@include](/@include)('admin_user.dashboard.pishniaz.product.product_category_option',$category)
                        [<samp dir="ltr">@endforeach](/@endforeach)
                    [<samp dir="ltr">@endif](/@endif)
                </select>
            </div>
        </div>

    بعد هم یک ویوی option بسازید و کد زیر رو قرار بدید

    <option value="{{'{{'}}$category->category_id}}" >
    <?php $cnt++; ?>
        [<samp dir="ltr">@for](/@for)($i=0 ; $i<$cnt ;$i++)
            -
        [<samp dir="ltr">@endfor](/@endfor)
        {{'{{'}}$category->category_name }}
    </option>
    [<samp dir="ltr">@if](/@if) ($category->children->count() > 0)
    [<samp dir="ltr">@foreach](/@foreach)($category->children as $child)
        [<samp dir="ltr">@include](/@include)('admin_user.dashboard.pishniaz.product.product_category_option', ['category' => $child])
    [<samp dir="ltr">@endforeach](/@endforeach)
    [<samp dir="ltr">@endif](/@endif)
  • ۶ ماه پیش @hadi723456 به بحث ساخت یک دسته بندی جواب داد.

    @matin آره بد مطرح کردم :) این یک انبارداری هست که از یه طرف دسته بندی براش تعریف میشه، مثلا لحاف -دونفره --شش تکه... از یه طرف هم کالا، مثلا ویکتوریا... که وقتی میخوام کالام رو تعریف کنم دسته بندیمو انتخاب می کنم که میشه لحاف -دونفره --شش تکه ویکتوریا. الان اون مشکلم برطرف شد و فهمیدم که من راهم رو اشتباه رفته بودم. باید رابطم رو یک به چند تعریف میکردم. چون هر کالا حتما باید داخل یک دسته قرار بگیره و شامل دسته های دیگه نباید باشه.

    برای دسته بندی هم از یک جدول استفاده کردم. به این صورت که در جدول فیلد parent_id اضافه کردم. هر دسته اگر NULL بود یعنی سر شاخه هست و دسته های دیگه اگر parent_id داشته باشن یعنی فرزند اون آی دی هستن.

    مشکلی که الان برام پیش اومده توی نمایش دسته ها در select اِ یعنی میخوام به این صورت نمایش بدم برای انتخاب

    دسته مادر
    -فرزند سطح اول
    --فرزند سطح دوم
    -فرزند دیگر سطح اول
    دسته مادر دیگر 
    -فرزندش
    ==فرزند دیگر
    ---فرزند بعدی 

    و... برای این کار چه کنم ؟ کاری ام که تا الان کردم به این صورته که دسته ها رو از جدول میگیره... همین! :)

    در categoriesController :

    public function create()
    {
        $categories = Category::all();
        return view('admin_user.dashboard.pishniaz.category.category_create',compact('categories'))->with(['panel_title' => 'افزودن دسته بندی', 'panel_description' => 'در این قسمت میتوانید اطلاعات دسته خود را اضافه کنید.']);
    
    }

    در فرم :

    <div class="form-group">
            <label class="col-sm-2 control-label">دسته بندی</label>
            <div class="text-right col-sm-10">
                <select name="category_id" class="select2 form-control" id="category_id">
                    [<samp dir="ltr">@foreach](/@foreach) ($categories as $cat)
                        <option value="{{'{{'}} $cat -> category_id }}"
                                {{'{{'}} isset($productItem) && $productItem->category_id == $cat->category_id ? 'selected':'' }}
                        >{{'{{'}} $cat -> category_name }}</option>
                    [<samp dir="ltr">@endforeach](/@endforeach)
                </select>
            </div>
        </div>
  • @farahmand آره FerdowsiAcademy.com

  • ۶ ماه پیش @hadi723456 یک بحث به اسم ساخت یک دسته بندی درست کرد.

    سلام من میخوام روی سایتم دسته بندی دارای فرزند ایجاد کنم. از یک قسمت دیگه هم تعریف کالا دارم و در آخرم کالاها رو ارتباط بدم به اون دسته مورد نظر.

    کاری که تا الان کردم اینه که یه جدول به اسم categories ساختم. و دسته جدید ایجاد کردم. ولی میخوام این دسته ها فرزند داشته باشند و به صورت زیر مجموعه ای نمایش داده بشن و در یک منوی select هم ازش بعدا استفاده کنم تا اختصاصش بدم به یک کالا

    کلمه ی انگلیسی English Word

    class CategoriesController extends Controller
    {
        public function index()
        {
            $categories = Category::all();
            return view('admin_user.dashboard.pishniaz.category.category', compact('categories'))->with(['panel_title' => 'لیست دسته بندی ', 'panel_description' => 'در این قسمت میتوانید لیست دسته بندی را مشاهده کنید، انبار جدید اضافه کنید و یا آن را ویرایش کنید.']);
        }
    
        public function create()
        {
            return view('admin_user.dashboard.pishniaz.category.category_create')->with(['panel_title' => 'افزودن دسته بندی', 'panel_description' => 'در این قسمت میتوانید اطلاعات دسته خود را اضافه کنید.']);
    
        }
    
        public function store(Request $request)
        {
            $this->validate($request, [
                'category_name' => 'required',
            ], [
                'category_name.required' => 'افزودن نام دسته اجباری می باشد',
            ]);
    
            $new_cat_data = [
                'category_name' => $request->input('category_name'),
            ];
    
            Category::create($new_cat_data);
    
            return redirect()->route('admin_user.dashboard.pishniaz.category.category')->with('success', 'دسته جدید با موفقیت ایجاد گردید.');
    
        }
    
        public function delete($cat_id)
        {
            if ($cat_id && ctype_digit($cat_id)) {
    //            User::destroy($user_id);
                $catItem = Category::find($cat_id);
                if ($catItem && $catItem instanceof Category) {
                    $catItem->delete();
                    return redirect()->route('admin_user.dashboard.pishniaz.category.category')->with('success', 'دسته مورد نظر  با موفقیت حذف گردید.');
                }
            }
        }
    
        public function edit($cat_id)
        {
            if ($cat_id && ctype_digit($cat_id)) {
                $catItem = Category::find($cat_id);
                if ($catItem && $catItem instanceof Category) {
                    return view('admin_user.dashboard.pishniaz.category.category_edit', compact('catItem'))->with(['panel_title' => 'ویرایش دسته']);
                }
            }
    
        }
    
        public function update(Request $request, $cat_id)
        {
            $this->validate($request, [
                'category_name' => 'required',
            ], [
                'category_name.required' => 'افزودن نام دسته اجباری می باشد',
            ]);
    
            $inputs = [
                'category_name' => request()->input('category_name'),
            ];
    
            $catItem = Category::find($cat_id);
            $catItem->update($inputs);
            return redirect()->route('admin_user.dashboard.pishniaz.category.category')->with('success', 'دسته مورد نظر  با موفقیت ویرایش گردید.');
        }
    }
    
  • ۶ ماه پیش @hadi723456 عضو بحث ساخت یک دسته بندی شد.
  • ۶ ماه پیش @hadi723456 به بحث شروع طراحی وب جواب داد.

    به نظرم لاراول خیلی خوب و قوی هست من خودم تازه شروع کردم کار با این فریم ورک رو و ازش خیلی راضی ام

  • ۶ ماه پیش @hadi723456 مقاله ای به اسم ویژگی های جدید blade در لاراول ۵.۶ را لایک کرد.
  • ۶ ماه پیش @hadi723456 مقاله ای به اسم چرا روبی آن ریلز؟ را لایک کرد.
  • ۶ ماه پیش @hadi723456 مقاله ای به اسم عینک مناسب برنامه نویسان را لایک کرد.
  • خیلی مهمه که فقط روی یک مطلب تمرکز داشته باشی. همه چیز برمیگرده به علاقه در مرحله اول ولی یک موضوع رو که انتخاب کردی همون رو تا تهش برو. فرقی نمیکنه که چه حوزه ای باشه. حتی همون html رو توش حرفه ایه حرفه ای بشی خوب میشه ازش پول در آورد. اگه توی حوزه وب دوست داشته باشی ادامه بدی به نظرم یکم روی یه سایت ساده داخل وردپرس برای اینکه با seo و دیگر مطلب هاش آشنا شو که بدونی دنیای وب ازت چی میخواد بعد در مورد طراحی صفحات مطالعه داشته باش و در همین حین کار با پایگاه داده ها و کوئری ها رو یاد بگیر در انتها هم بسته به علاقه به سراغ زبان های سمت سرور مثل php یا asp برو و بعد از این که با اون آشنا شدی یک مینی پروژه برای خودت تعریف کن و پیاده سازیش کن. مثلا اگر با php انتخاب کردی کار کنی پروژه رو با php خام بزن تا همه چی دستت بیاد . بعد سعی کن اون رو در قالب یک فریم ورک مثل لاراول یا هر چیز دیگه انجام بدی . بعد هم مطالعه و مطالعه و مطالعه

  • ۶ ماه پیش @hadi723456 به بحث یادگیری فریم ورک لاراول جواب داد.

    زیاد نیاز نیست حرفه ای باشی ولی باید از شی گرایی تا حدودی سر در بیاری سایت 7learn یک آموزش کامل و خوب در این مورد داره که من با استفاده از همون راه افتادم.

  • این یکی از دوستانم هست که توی حوزه بازی سازی خوب کار میکنه لینک تلگرامش @Sinabahri653 هست. بهش بگو از طرف موذن راهنمایی میکنه شما رو

  • @farahmand یکی از راه های خوب اومدن توی این دنیا شرکت در startup ها هست که میتونه از لحاظ پیدا کردن لینک های ارتباطی با دیگران و انجام کار تیمی و انجام پروژه تجربیات خیلی خوبی به شما بده که خدا رو شکر این رویداد ها کم ام نیست. کافیه با یک سرچ گروه های مختلف رو پیدا کرد. یکی از همین ها آکادمی کسب و کار فردوسی هست که توی مشهد مشغول فعالیته و به دانشگاه فردوسی وابستس. به این صورته که شما پروژه رو تعریف میکنی و بعد از قبول کردن توسط اونها راهنمایی های لازم و پشتیبانی های لازم رو انجام می دن. واقعا عالیه این هم لینکش : https://t.me/ferdowsi_academy