Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php刀片显示SQL表的特定数据_Php_Laravel_Laravel Blade - Fatal编程技术网

如何使用php刀片显示SQL表的特定数据

如何使用php刀片显示SQL表的特定数据,php,laravel,laravel-blade,Php,Laravel,Laravel Blade,我有一个程序,其中一个用户被分配到一个项目,其中有图像和文本 显然,在这个程序中,用户可以看到分配给他的项目,也可以看到项目的文本和图像 但我有一个问题,如果一个用户有两个项目,当他查找一个项目时,他会看到这两个项目的数据,如下图所示: 如您所见,它同时显示文本1和文本2,分别是“Cambio 3”和“Cambio 1”,但是,它应该只显示第一个文本。我的代码是: index_proyecto_blade.php Textos @foreach($usario\u proyecto作为$us

我有一个程序,其中一个用户被分配到一个项目,其中有图像和文本

显然,在这个程序中,用户可以看到分配给他的项目,也可以看到项目的文本和图像

但我有一个问题,如果一个用户有两个项目,当他查找一个项目时,他会看到这两个项目的数据,如下图所示:

如您所见,它同时显示文本1和文本2,分别是“Cambio 3”和“Cambio 1”,但是,它应该只显示第一个文本。我的代码是:

index_proyecto_blade.php


Textos
@foreach($usario\u proyecto作为$usr\u prt)
@foreach(项目数据为$prt)
@foreach($texto_数据为$txt)
@foreach($texto_proyecto_数据为$txt_prt)
@如果($txt\u prt->id\u texto\u data==$txt->id)
@如果($txt\u prt->id\u proyecto\u data==$prt->id\u proyecto)
@如果($usr\u prt->id\u proyecto==$prt->id\u proyecto)
Id de texto:{{$txt->Id}

{{$txt->caption} {{$txt->texto}


@恩迪夫 @恩迪夫 @恩迪夫 @endforeach @endforeach @endforeach @endforeach
以下是正在使用的表格:

Usuario_Proyecto(用户与项目之间的关系)

Proyecto_数据(原始项目的克隆)

Texto_数据(与项目关联的文本克隆/与Proyecto_数据关联的文本)

Texto_Proyecto_数据(Texto_数据和Proyecto_数据之间的关系)

我之所以使用克隆,是因为用户可以编辑他们的项目版本

我确保(至少我认为)只有当文本的proyecto_id与proyect和user中的id相同时,程序才会显示数据。但它仍然显示了其他项目的文本


为什么会这样?我做错了什么?

文件名不对

index.blade.php
在控制器中,返回视图,如
returnview('proyecto.index');基本上
folder.file

始终命名文件
xxx.blade.php


希望有帮助。

您不想获取所有数据并在视图中“过滤”它们。首先,在模型之间建立适当的关系。@Hugo,你能分享控制器吗?我认为你把事情复杂化了。使您的模型简单,并依赖它们之间的关系。您从这两个项目中获取数据的原因是所有这些foreach循环。用户有2个项目,所以您将检查这两个项目的条件。然后你就有了不相关的texto_数据,这是两个对象。其中一个包括一个texto_proyecto_数据的条件,第二个包括第二个texto_proyecto_数据的条件。这就是为什么你们两个都得到了。保持你的模型和关系简单,不要使事情过于复杂。在视图中只包含您需要的数据,而不是所有内容。@Filip是的,我做到了。基本上为用户创建了另一个视图(普通用户和管理员都在同一个视图中,尽管他们使用不同的功能和项目版本(用户有克隆版本,管理员有原始版本))并且工作正常!!!谢谢你的想法!!!
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::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::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,
       },
     ],
   }
index.blade.php