如何检查两个数组之间的匹配与foreach在laravel刀片? [英] How to check matches between 2 arrays with foreach in laravel blade?

查看:153
本文介绍了如何检查两个数组之间的匹配与foreach在laravel刀片?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有我的数据库中的标签数组。我也附加了当前项目的标签。我想检查是否已经连接了标签。这似乎工作,但当然,我最多有1个标签附加到项目时我的选择字段中重复的项目。

 < select name =tagsmultiple required> 
@foreach($ tags as $ name)
@foreach($ item-> tags as $ itemtag)
@if($ name == $ itemtag-> name)
< option value ={{$ name}}selected> {{$ name}}< / option>
@else
< option value ={{$ name}}> {{$ name}}< / option>
@endif
@endforeach
@endforeach
< / select>

$ tags数组

  {9:Acoustic,3,Angry,6,Autumn,10,Banjo, : 低音, 14: 快乐, 12: 寒冷, 35: 脏, 8: 电动, 22: 的Epiphone, 24: ESP, 19: 挡泥板, 33: 恐怖, 16: 有趣, 18: 吉布森, 30: Gretsch的, 32: 常规 ,1,快乐,20,Ibanez,23,Jackson,31,Les Paul,28,Martin,15 21:Paul Reed Smith,27,Redwood,2,Sad,29,Schecter,17,Sleepy,34 7:Spring,4,Summer,26,Taylor,11,Ukulele,5,Winter,25,Yamaha $ b  

$ loop-> tags数组



  [{id:1,created_at:null,updated_at:null,name:Happy,pivot:{FK_loop_id :2,FK_tag_id :1}},{ ID :4,created_at :空 的updated_at :空, 姓名 : 夏, 枢轴:{ FK_loop_id:2, FK_tag_id:4}},{ ID:14, created_at:空 的updated_at:NULL, 名称: 快乐, 枢轴:{ FK_loop_id:2 FK_tag_id: 14}},{ ID:9,CR eated_at:null,updated_at:null,name:Acoustic,pivot:{FK_loop_id:2,FK_tag_id:9}}] 
/ pre>

解决方案



 < select name =tagsmultiple required> 
@foreach($ tags as $ name)
@foreach($ item-> tags as $ itemtag)
@if($ name == $ itemtag-> name)
< option value ={{$ name}}selected> {{$ name}}< / option>
<?php继续2; ?>
@endif
@endforeach
< option value ={{$ name}}> {{$ name}}< / option>
@endforeach


I have an array of tags from my database. I also have attached tags from a current item. I want to check wether tags are already attached or not. This seems to work but of course I get duplicate items in my select-field when there is originally more than 1 tag attached to the item. How can I avoid this ?

<select name="tags" multiple required>
    @foreach ($tags as $name)
        @foreach($item->tags as $itemtag)
            @if($name == $itemtag->name)
                <option value="{{$name}}" selected>{{$name}}</option>
            @else
                <option value="{{$name}}">{{$name}}</option>
            @endif
        @endforeach
    @endforeach
</select>

$tags array :

 {"9":"Acoustic","3":"Angry","6":"Autumn","10":"Banjo","13":"Bass","14":"Cheerful","12":"Chill","35":"Dirty","8":"Electric","22":"Epiphone","24":"ESP","19":"Fender","33":"Funk","16":"Funny","18":"Gibson","30":"Gretsch","32":"Groovy","1":"Happy","20":"Ibanez","23":"Jackson","31":"Les Paul","28":"Martin","15":"Mellow","21":"Paul Reed Smith","27":"Redwood","2":"Sad","29":"Schecter","17":"Sleepy","34":"Spanish","7":"Spring","4":"Summer","26":"Taylor","11":"Ukulele","5":"Winter","25":"Yamaha"}

$loop->tags array :

[{"id":1,"created_at":null,"updated_at":null,"name":"Happy","pivot":{"FK_loop_id":2,"FK_tag_id":1}},{"id":4,"created_at":null,"updated_at":null,"name":"Summer","pivot":{"FK_loop_id":2,"FK_tag_id":4}},{"id":14,"created_at":null,"updated_at":null,"name":"Cheerful","pivot":{"FK_loop_id":2,"FK_tag_id":14}},{"id":9,"created_at":null,"updated_at":null,"name":"Acoustic","pivot":{"FK_loop_id":2,"FK_tag_id":9}}]

解决方案

This should work :

<select name="tags" multiple required>
@foreach ($tags as $name)
    @foreach($item->tags as $itemtag)
        @if($name == $itemtag->name)
            <option value="{{$name}}" selected>{{$name}}</option>
            <?php continue 2; ?>
        @endif
    @endforeach
    <option value="{{$name}}">{{$name}}</option>
@endforeach

这篇关于如何检查两个数组之间的匹配与foreach在laravel刀片?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆