25-02-1396، 03:48 ب.ظ
سلام دوستان من میخوام یک فیلتر جستجو درست کنم ولی به یه مشکل برخوردم
دوتا تیبل دارم items , item_meta مثل وردپرس پیاده کردم اطلاعات مربوط به محصولات داخل items ذخیره می کنم و سایر فیلدهای اضافی رو توی item_meta (رابطه اشتراک این دوتا جدول item_id هس) ذخیره میکنم توی صفحه جستجو میخوام از فیلدهای توی item_meta یه جستجویی انجام بدم به این صورت مثلا (نوع محصول،تعدادطبقه،اینچ و تیپ و... ) حالا توی این حالت ها ممکنه مثلا نوع محصول همه موارد باشه و بقیه فیلدها انتخاب بشه
چیزی که من زدم به این صورته
جواب نمیده برای مثلا فیلد محصول انتخاب بشه ولی بقیه روی همه باشه میاره ولی وقتی دوتا یا همشون همزمان باشند نمیاره؟؟؟
[attachment=550]
دوتا تیبل دارم items , item_meta مثل وردپرس پیاده کردم اطلاعات مربوط به محصولات داخل items ذخیره می کنم و سایر فیلدهای اضافی رو توی item_meta (رابطه اشتراک این دوتا جدول item_id هس) ذخیره میکنم توی صفحه جستجو میخوام از فیلدهای توی item_meta یه جستجویی انجام بدم به این صورت مثلا (نوع محصول،تعدادطبقه،اینچ و تیپ و... ) حالا توی این حالت ها ممکنه مثلا نوع محصول همه موارد باشه و بقیه فیلدها انتخاب بشه
چیزی که من زدم به این صورته
$product = Item::Join('item_meta', 'items.id', '=', 'item_meta.item_id')->where(['items.type'=>'product','items.status'=>0]); if($search['product_type'] !='0') { $product->where(['item_meta.meta_key'=>'product_type','item_meta.meta_value'=>$search['product_type']]); } if($search['product_tip']!="0") { $product->where(['item_meta.meta_key'=>'product_tip','item_meta.meta_value'=>$search['product_tip']]); } if($search['product_wat']!="0") { $product->where(['item_meta.meta_key'=>'product_wat','item_meta.meta_value'=>$search['product_wat']]); } if($search['product_height']!="0") { $product->where(['item_meta.meta_key'=>'product_height','item_meta.meta_value'=>$search['product_height']]); } if($search['product_tabageh']!="0") { $product->where(['item_meta.meta_key'=>'product_tabageh','item_meta.meta_value'=>$search['product_tabageh']]); } $product1 = $product->orderBy('items.id','DESC')->paginate(10);
جواب نمیده برای مثلا فیلد محصول انتخاب بشه ولی بقیه روی همه باشه میاره ولی وقتی دوتا یا همشون همزمان باشند نمیاره؟؟؟
[attachment=550]