Как отобразить данные c таблицы SQL с помощью блейда php - PullRequest
0 голосов
/ 02 марта 2020

У меня есть программа, в которой пользователь назначен проекту, в котором есть изображения и тексты.

И, очевидно, в указанной программе Пользователь может видеть назначенные ему проекты и, соответственно, тексты и изображения проекта.

Но у меня есть проблема, когда, если у одного пользователя есть 2 проекта, когда он ищет один проект, он видит данные обоих, как вы можете видеть на следующем изображении:

Example

Как видите, он отображает как текст 1, так и 2, которые обозначают «Камбио 3» и «Камбио 1» соответственно, но он должен показывать только первый текст. Код, который у меня есть для этого:

index_proyecto_blade. php

<div class="row pt-4">
                    <h3>Textos</h3>

                    @foreach($usuario_proyecto as $usr_prt)

                    @foreach($proyecto_data as $prt)

                    @foreach($texto_data as $txt)

                    @foreach($texto_proyecto_data as $txt_prt)

                        @if($txt_prt->id_texto_data == $txt->id)

                        @if($txt_prt->id_proyecto_data == $prt->id_proyecto)

                        @if($usr_prt->id_proyecto == $prt->id_proyecto)

                            Id de texto: {{ $txt->id }}
                            <br>
                            <div class="col-2">
                                <h5>{{ $txt->caption }}</h5>
                                <p>{{ $txt->texto }}</p>
                            </div>
                            <br>
                        @endif
                        @endif
                        @endif
                    @endforeach
                    @endforeach
                    @endforeach
                    @endforeach
                </div>

И вот таблицы в игре:

Usuario_Proyecto (отношение между пользователем и проектом )

Usuario_Proyecto::all()
=> Illuminate\Database\Eloquent\Collection {#3061
     all: [
       App\Usuario_Proyecto {#3069
         id: 1,
         id_user: 2,
         id_proyecto: 1,
         created_at: null,
         updated_at: null,
       },
       App\Usuario_Proyecto {#3062
         id: 2,
         id_user: 2,
         id_proyecto: 2,
         created_at: null,
         updated_at: null,
       },
     ],
   }

Proyecto_data (клон исходного проекта)

Proyecto_Data::all()
=> Illuminate\Database\Eloquent\Collection {#3060
     all: [
       App\Proyecto_Data {#3063
         id: 1,
         nombre_proyecto: "["proyecto_test"]",
         id_proyecto: 1,
         created_at: null,
         updated_at: null,
       },
       App\Proyecto_Data {#3058
         id: 2,
         nombre_proyecto: "["proyecto_test_2"]",
         id_proyecto: 2,
         created_at: null,
         updated_at: null,
       },
     ],
   }

Texto_Data (клон текста, связанного с проектом / текстовой привязкой к Proyecto_Data)

texto_data::all()
[!] Aliasing 'texto_data' to 'App\texto_data' for this Tinker session.
=> Illuminate\Database\Eloquent\Collection {#3068
     all: [
       App\texto_data {#3069
         id: 1,
         nombre: "["this is a test caption"]",
         texto: "["Cambio 3"]",
         min: 1,
         max: 100,
         created_at: null,
         updated_at: null,
       },
       App\texto_data {#3070
         id: 2,
         nombre: "["palaBRA2"]",
         texto: "cambio 1",
         min: 1,
         max: 100,
         created_at: null,
         updated_at: null,
       },
     ],
   }

Texto_Proyecto_Data (Связь между texto_data и proyecto_data)

texto_proyecto_data::all()
[!] Aliasing 'texto_proyecto_data' to 'App\texto_proyecto_data' for this Tinker session.
=> Illuminate\Database\Eloquent\Collection {#3071
     all: [
       App\texto_proyecto_data {#3050
         id: 1,
         id_texto_data: 1,
         id_proyecto_data: 1,
         created_at: null,
         updated_at: null,
       },
       App\texto_proyecto_data {#3045
         id: 2,
         id_texto_data: 2,
         id_proyecto_data: 2,
         created_at: null,
         updated_at: null,
       },
     ],
   }

Причина, по которой я использую клоны, заключается в том, что пользователь может редактировать свою версию проекта.

Я уверен (я думаю, по крайней мере) что программа показывает данные только в том случае, если proyecto_id текста совпадает с proyecto и user. Но он по-прежнему показывает текст других проектов.

Почему это происходит? Я что-то не так делаю?

1 Ответ

0 голосов
/ 02 марта 2020

имя файла неверно.

index.blade.php

В вашем контроллере верните представление как return view('proyecto.index');; В основном folder.file

Всегда называйте файлы xxx.blade.php

Надеюсь, это помогло.

...