foreach 循环问题 if 无法进行判断
public function batch(Request $request)
{
$ids = $request->input('id'); //["1","2"]
$tags = $request->input('tags'); //["发货","新产品"]
$Influencers = Influencers::whereIn('id', $ids)->pluck('tags')->toArray();
//数据库里面的标签 ["发货","新产品"]
foreach ($Influencers as $Influencer) {
$dbTags = explode(',', preg_replace('/\s+/', '', $Influencer));
foreach ($tags as $tag) {
foreach ($dbTags as $t) {
foreach ($ids as $id) {
if ($t === $tag) {
//我想用户传进来了的标签 跟数据库的标签进行一个判断如果不存在在添加 如果存在就不添加,
Influencers::where('id', $id)->update(['tags' => DB::raw("CONCAT_WS(',', tags, ' $t')")]);
} else {
print "<li>$t - $tag - $id</li>";
}
}
}
}
}
}
我测试了很多方法都不知道怎么解决,
我想用户传进来了的标签 跟数据库的标签进行判断如果不存在在添加 如果存在就不添加,
举个例子:
比如数据库已经有 拒绝,成功,就不做任何的操作
如果数据库只有,拒绝,用户如果传过来是 ['拒绝','成功'] 就吧成功添加进去
所有传进来的数据都是[数组]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这么多层嵌套循环,应该做优化