2017-02-16 5 views
0

У меня есть Laravel с Mongodb и внутри документа коллекции как это;Laravel, Mongo, @foreach логика в поле зрения

}, 
     "et_score": null, 
     "starting_time": "13:00:00", 
     "competition": { 
      "active": true, 
      "id": NumberInt("46"), 
      "name": "Liga 1" 
     }, 
     "awayTeam": { 
      "venue_id": NumberInt("2454"), 
      "name": "Team away -> Liga1", 
      "coach_id": NumberInt("140772"), 
      "twitter": "" 
     }, 
     "homeTeam": { 
      "venue_id": NumberInt("0"), 
      "name": "Team home -> Liga1", 

     }, 
     "home_score": NumberInt("1"), 
     "starting_date": "2016-12-24", 
     "away_score": NumberInt("1") 
    } 
}) 

.....

И мой .blade имеет это;

.... 
    @foreach($data_user as $league) 

     <table class='table table-striped table-bordered table-condensed'> 

     <thead><tr><th>{{$league{"competition.name"} }}</th></tr></thead> 
      @endforeach 

     <tbody> 
      <tr> 
       @foreach($data_user as $match) 


        <th>{{$match{"starting_date"} }}</th> 
        <th>{{$match{"starting_time"} }}</th> 
        <th>{{$match{"status"} }}</th> 
        <th>{{$match{"homeTeam.name"} }}</th> 
        <th>{{$match{"home_score"} }} : {{$match{"away_score"} }} </th> 
        <th>{{$match{"awayTeam.name"} }}</th> 
      </tr> 
      @endforeach 
     </tbody> 
     </table> 
..... 

Этот печатный стол, подобный этому;

table.jpg

Как вы видите, у меня есть все команды в одном «luega стола» и выделит команду на «Team Home -> Liga1», чтобы перейти к таблице Liga1, а также «Команда Главная -> Суперлига» должен быть в Суперлиги и т.д.

Я знаю, что не хватает какой-то логики в @foreach, но у меня нет достаточно опыта для такой вещи, чтобы исправить, спасибо

ответ

0

Я не понимаю, именно то, что вы хотите сделать, но из того, что я вижу, они открывают или закрывают ваш foreach неправильно, что плохо создает html, кроме плохого использования модели.

Обзор следующие

@foreach($data_user as $league) 
<table class='table table-striped table-bordered table-condensed'> 
    <thead> 
     <tr> 
      <th>{{$league->competition->name }}</th> 
     </tr> 
    </thead> 
    <tbody> 
     @foreach($data_user as $match) 
     <tr> 
      <th>{{$match->starting_date }}</th> 
      <th>{{$match->starting_time }}</th> 
      <th>{{$match->status }}</th> 
      <th>{{$match->homeTeam.name }}</th> 
      <th>{{$match->home_score }} : {{ $match->away_score }} </th> 
      <th>{{$match->awayTeam.name }}</th> 
     </tr> 
     @endforeach 
    </tbody> 
</table> 
@endforeach 
+0

Привет Manuel, получить ошибку с предложением: Попытка получить свойство не-объекта в строке 4 – Ronnin

+0

информация является результатом модели, коллекции, массив ? Проверьте это или добавьте дополнительную информацию, чтобы помочь вам, но помните, что вы закрываете ошибку foreach и генерируете HTML с ошибками. –

+0

ОшибкаException в f1da8afe98aba2781763f1e975725bb2aaa771cf.php строка 5: Попытка получить свойство не-объекта для получения свойства не объекта (View: /Volumes/WEB/test/CRUD-Laravel-5.3-with-MongoDB/resources/views/myhome.blade.php) – Ronnin

0

Возможно, если больше помощи, если вы видите модель и контроллер

модель:

<?php 

namespace App\Models; 

use Moloquent; 

class PrimaryModels extends Moloquent 
{ 
    protected $collection = 'football.live'; 
} 

Контроллер:

<?php 

namespace App\Http\Controllers; 

use App\Models\PrimaryModels as Moloquent; 
use Illuminate\Http\Request; 
use Input, Redirect; 

class PrimaryController2 extends Controller 
{ 
    function index(){ 
     return Redirect::to('myhome'); 
    } 

    function pages($template){ 
     $getAllData = Moloquent::all(); 
     return view($template, ['data_user' => $getAllData]); 
    } 

} 
0

Но если я иду как это имеет место утра Проб, что все команды во всех лигах

@foreach($data_user as $league) 
    <table class='table table-striped table-bordered table-condensed'> 
     <thead> 
     <tr> 
      <th>{{$league{"competition.name"} }}</th> 
     </tr> 
     </thead> 
     <tbody> 
     @foreach($data_user as $match) 
      <tr> 
       <th>{{$match->starting_date }}</th> 
       <th>{{$match->starting_time }}</th> 
       <th>{{$match->status }}</th> 
       <th>{{$match{"homeTeam.name"} }}</th> 
       <th>{{$match->home_score }} : {{ $match->away_score }} </th> 
       <th>{{$match{"awayTeam.name"} }}</th> 
      </tr> 
     @endforeach 
     </tbody> 
    </table> 
@endforeach 
Смежные вопросы