我有以下数组(由explode方法创建)
["3D Printing"," 3D Architecture"," .NET Micro Framework"]
当我尝试将此标题与我的数据库匹配并获取每个标题的 id 时,我只得到第一个项目的 id。
["d21c6805-8780-4726-ba1d-12c9c3a28d0a"]
它应该返回这样的东西
["d21c6805-8780-4726-ba1d-12c9c3a28d0a", "1234...", "567...]
code
$a = $request->input('tags');
$b = str_replace(['[',']'], null, $a);
$comingTags = explode(',',$b);
$iddss = Tag::whereIn('title', $comingTags)->pluck('id');
return response()->json($iddss);
有什么建议吗?
PS:我最好的猜测是我的数组中的第 2 项和第 3 项有空格,这可能会导致问题"{SPACE IS HERE}3D Architecture"
,不确定是否是这个原因。
更新
我试过$b = str_replace([',', ' '], ['',''], $a);
了,但我现在得到的只是[]
更新 2
通过使用$b = str_replace(['[', ']', ' '], null, $a);
它确实删除了我的字符串中的空格,但也删除了我的标题单词之间的空格,因此3D Architecture
我3DArchitecture
也无法将标题与我的数据库匹配,$iddss = Tag::whereIn('title', $comingTags)->pluck('id');
因为我的数据库标题是3D Architecture
我想要匹配的内容它是3DArchitecture
。
对此有什么建议吗?
更新 3
$a = $request->input('tags');
// return
"[3D Printing, 3D Architecture, .NET Micro Framework]"
.
$b = str_replace(['[',']'], null, $a);
// return
"3D Printing, 3D Architecture, .NET Micro Framework"
.
$comingTags = explode(',',$b);
// return
["3D Printing"," 3D Architecture"," .NET Micro Framework"]