Php 更换'';对于'-';Laravel中的内部内爆查询
我有一段代码,可以获取文章的所有子类别,并将它们作为CSS类包含Php 更换'';对于'-';Laravel中的内部内爆查询,php,laravel-5,Php,Laravel 5,我有一段代码,可以获取文章的所有子类别,并将它们作为CSS类包含 <article class="{{ strtolower($a->subcategories->pluck('name')->implode(' ')) }} article-item"> 其中$a是一个文章模型 这非常有效,除非其中一个类别有多个单词(我的客户最近的请愿书) 例如: 类别:“主页”、“ofice”和“存档和存储” 我得到的: <article class="home o
<article class="{{ strtolower($a->subcategories->pluck('name')->implode(' ')) }} article-item">
其中$a是一个文章模型
这非常有效,除非其中一个类别有多个单词(我的客户最近的请愿书)
例如:
类别:“主页”、“ofice”和“存档和存储”
我得到的:
<article class="home office archive and storage article-item">
<article class="home office archive-and-storage article-item">
我想要什么:
<article class="home office archive and storage article-item">
<article class="home office archive-and-storage article-item">
我希望我的要求是明确的,我如何为我的每个类别内爆多个单词?我曾尝试在查询生成器的各个部分上进行内爆和str_replace(),但都做不好。strtolower(内爆(“,str_replace(“,”-”,$a->subcategories->pull('name')->all())代码>
这看起来可能不太好,但应该能奏效。至少,它在数组[“a”,“ba”]
(产生“ab-a”输出)中对我有效
也许它可以帮助您?您需要将带有空格的类别名称映射到带有破折号的类别名称。有了Laravel系列,一切都非常简单。只要做:
{{ strtolower($a->subcategories->pluck('name')->map(function ($c) { return str_replace(" ", "-", $c); })->implode(' ')) }}
更多关于收藏的信息,您可以阅读您有什么疑问?我想很清楚?我想“查询”这个词不合适。我想用空格替换单个类别名称上的破折号。这就是allHi Danielius,不幸的是这给我带来了一个内爆():无效参数错误。我猜这是因为$a->subcategories->pull('name')是一个数组而不是一个数组String@TianRB也许现在?太好了!非常感谢。