آفلاین
user-avatar

حذف براکت ها بعد از واکشی و نمایش اطلاعات از طریق متد pluck

2 سال پیش
توسط سید محمد حسین موسوی آپدیت شد
آفلاین
user-avatar
مجتبی ( 11432 تجربه )
2 سال پیش
تخصص : full stack

من اطلاعات دسته بندی هامو به شکل route model binding از مدل category دزیافت می کنم و نمایش میدم ...
مشکلی که داریم هنگام نمایش اطلاعات نام دسته بندی مورده نظر رو به این شکل دریافت می کنم["Energy Protein"]
چطوری می تونم کوتیشن ها و براکت هارو حذف کنم؟؟

class CategoryController extends Controller
{
    public function index(Category $category)
    {
       //$local =  app()->getLocale();
        $products = $category->products()->latest()->paginate(6);
         $cat = Category::find($category)->pluck('name');
        return view('Home.products', compact('products', 'cat'));
    }
}
آفلاین
user-avatar
سیدعلی موسوی ( 113283 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

سلام

از متد str_replace استفاده کنید مثال زیر رو ببینید

$skips = ["[","]","\""];
        return str_replace($skips, ' ',$this->tickets->pluck('name'));
آفلاین
user-avatar
مجتبی ( 11432 تجربه )
2 سال پیش
تخصص : full stack

اگه ممکن هست بیشتر راهنمایی کنید..این کد باید تو مدل categoty باشه؟؟به شکل متد؟؟

آفلاین
user-avatar
مجتبی ( 11432 تجربه )
2 سال پیش
تخصص : full stack

به این شکل زدم اوکی شد...ممنون علی جان

‍‍‍‍‍‍

public function index(Category $category)  
{  
//$local = app()->getLocale();  
$products = $category->products()->latest()->paginate(6);  
$cat = Category::find($category);  
$skips = ["[","]","""];  
$cat = str_replace($skips, ' ',$cat->pluck('name'));  
return view('Home.products', compact('products', 'cat'));  
}
آفلاین
user-avatar
سیدعلی موسوی ( 113283 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

قربانت اقا مجتبی 😋

آفلاین
user-avatar
سید محمد حسین موسوی ( 18823 تجربه )
2 سال پیش
تخصص : FullStack Developer

سلام
من php کار نیستم ولی ظاهر قضیه داره نشون می ده که شما داری صورت مسئله رو حذف می کنی.
خروجی شما وقتی داخل [] هست یعنی بصورت array داره ارسال می شه و اینکه شما array رو بگیری و تبدیل به String کنی و بعد براکت هاش رو پاک کنی کار درستی نیست! خدا رو خوش نمی یاد :)
احتمالا این بخش:

pluck('name');

یه چیزی باید داشته باشه که value رو برات برگردونه.

آفلاین
user-avatar
سیدعلی موسوی ( 113283 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

حرف شما درست سیدجان ولی ساده ترین روشی که اون لحظه به ذهنم امد این بود، قطعا باید قطعه کدی وجود داشته باشه که بتونی اون ارایه رو تفکیک کنی.😎

من سرچ نزدم ولی مطمن هستم راه حل داره قبل از جواب هم با خودم گفتم اگر برنامه نویس حرفه ی کد من رو ببینه مطمن هستم میگه چرا صورت مسئله رو پاک میکنی به جای حلش 😂

آفلاین
user-avatar
سیدعلی موسوی ( 113283 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

اینم کدش

Article::popular->pluck('id')->values();
آفلاین
user-avatar
مجتبی ( 11432 تجربه )
2 سال پیش
تخصص : full stack

علی جان من تست کردم کد بالا رو همچنان براکت ها بودن..خودم هم سرچ کردم به کد اولت رسیدم..
فکر میکنم این موضوع مربوط به collections در لاراول باشه احتمالا یه فکری براش شده

برای ارسال پاسخ باید وارد سایت شوید