Kareem Elsharkawy
Kareem Elsharkawy

Reputation: 439

Remove duplicate values from foreach

I have duplicated tasks in my database so I do not any duplicated Tasks with thir tags in my foreach

@foreach ($Tag->Tasks as $Task)


  <li> Task :: {{ $Task->task_name }} </li>
   @foreach ($Task->tasktags as $TaskTag)
  <li> Task Tags :: {{ $TaskTag->name }} </li>

   @endforeach
@endforeach

Upvotes: 1

Views: 2767

Answers (3)

Adam Kozlowski
Adam Kozlowski

Reputation: 5896

Use in your controller (before inserting parameter in view) array_unique function

More: http://php.net/manual/en/function.array-unique.php

If you have collection object: https://laravel.com/docs/master/collections#method-unique

Upvotes: 1

Shailendra Gupta
Shailendra Gupta

Reputation: 1118

use this no duplicate data will be print

{!! $Tag->Tasks = $Tag->Tasks->unique(); !!}
@foreach ($Tag->Tasks as $Task)
    <li> Task :: {{ $Task->task_name }} </li>
    {!! $Task->tasktags = $Task->tasktags->unique(); !!}
    @foreach ($Task->tasktags as $TaskTag)
        <li> Task Tags :: {{ $TaskTag->name }} </li>
    @endforeach
 @endforeach

Upvotes: 0

zjbarg
zjbarg

Reputation: 679

See unique methods here

@foreach ($Tag->Tasks as $Task)

   <li> Task :: {{ $Task->task_name }} </li>

   $uniqueTaskTags = $Task->tasktags->unique();

   @foreach ($uniqueTaskTags as $TaskTag)
      <li> Task Tags :: {{ $TaskTag->name }} </li>
   @endforeach

@endforeach

Upvotes: 0

Related Questions