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

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

لینک کوتاه اشتراک گذاری

0

من اطلاعات دسته بندی هامو به شکل 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
سیدعلی موسوی ( 143028 تجربه )
3 سال پیش
تخصص : سی شارپ و پی اچ پی

لینک کوتاه اشتراک گذاری

0

سلام

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

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

لینک کوتاه اشتراک گذاری

0

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

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

لینک کوتاه اشتراک گذاری

0

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

‍‍‍‍‍‍

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
سیدعلی موسوی ( 143028 تجربه )
3 سال پیش
تخصص : سی شارپ و پی اچ پی

لینک کوتاه اشتراک گذاری

0

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

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

لینک کوتاه اشتراک گذاری

1

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

pluck('name');

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

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

لینک کوتاه اشتراک گذاری

0

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

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

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

لینک کوتاه اشتراک گذاری

0

اینم کدش

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

لینک کوتاه اشتراک گذاری

0

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

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.