Aatish Kumar
Aatish Kumar

Reputation: 149

Returning data from embedded document in laravel+mongodb

i have a document with the following structure

db.projects.find().pretty()
{
    "_id" : ObjectId("587eb04ec5d281280d9244ed"),
    "root" : "Main Boards",
    "access" : "Public",
    "folders" : [
        {
            "foldersname" : "PROJECTS"
        }
    ]
}
{
    "_id" : ObjectId("587eb052c5d281280d9244ee"),
    "root" : "Shared Boards",
    "access" : "Public"
}

I successfully loaded the data in a variable. i can display the field 'root' contents in the blade view but i cant display the field 'foldersname'. here is my code below.

@foreach($structures as $structure)    
<a class="mdl-navigation__link" href="">{{$structure->root}}</a>

          @foreach($structure as $folders)

            <a class="mdl-navigation__link" href="">{{$folders->foldersname}}</a>
          @endforeach
@endforeach

I get the following error. i have been looking for solutions since 2 days. i have applied solutions from laravel forum and here but in vain. Can someone guide me to the right solution. thanks

Trying to get property of non-object

Upvotes: 0

Views: 94

Answers (1)

Amani Ben Azzouz
Amani Ben Azzouz

Reputation: 2565

Try this :

 @foreach($structures as $structure)    
    <a class="mdl-navigation__link" href="">{{$structure->root}}</a>
    @if (isset($structure->folders))
       @foreach($structure->folders as $folder)
          @if(isset($folder['foldersname']) )      
             <a class="mdl-navigation__link" href="">{{$folder['foldersname']}} </a>
          @endif
       @endforeach
    @endif
 @endforeach

Upvotes: 1

Related Questions