Php Laravel DB::select($query)
我正在从事一个Laravel项目,该项目从输入中执行自定义SQL命令。我有以下功能 路线 欢迎使用.blade.phpPhp Laravel DB::select($query),php,sql,laravel,Php,Sql,Laravel,我正在从事一个Laravel项目,该项目从输入中执行自定义SQL命令。我有以下功能 路线 欢迎使用.blade.php <form method="POST" enctype="multipart/form-data" action="/form-submit" class="text-end"> {{ method_field('PATCH') }} @csrf <input n
<form method="POST" enctype="multipart/form-data" action="/form-submit" class="text-end">
{{ method_field('PATCH') }}
@csrf
<input name="query" value="{{ $query }}" id="input" class="form-control w-20">
<button type="submit" id="button" class="btn btn-sm btn-info mt-3">Submit</button>
</form>
<?php
$querys = DB::select($query);
?>
但我想为用户显示所有数据,包括姓名、性别、id、年龄等。我尝试了多种选择,但还没有找到解决方案。查询总是不同的,所以我不知道要显示什么数据。例如,如果我键入“SELECT*from notifications”,我想将数据库中的所有信息添加到表中
有人能帮我吗
谢谢您可以使用
->toArray()
方法从模型返回数组,然后您将拥有关联数组。你可以这样做
@foreach($querys as $field=>$value)
<p> {{$field}} = {{$value}} </p>
@endforeach
@foreach($querys as$field=>$value)
{{$field}}={{$value}
@endforeach
其中,
$field
是表中的字段名,$value
是列值。另外,您还需要检查嵌套,如果您有多个结果我尝试了这个方法,但我得到了以下错误:tmlspecialchars()期望参数1是字符串,object givenYes如果您有多个结果,那么您将有一个数组,其中所有元素都是object。所以你需要两个循环,在第二个循环中你可以得到你的结果这就是我说的嵌套。我认为您应该在您的服务中查询然后解析结果(或者在您有业务逻辑的地方),然后将结果数组返回到您的templateIt works,但现在我只能得到值。例如,对于具有{“id”:2,“name”:“user2”}的用户,我可以只显示2和user2。您知道如何显示id和名称吗?您是否像这样使用循环@foreach($querys as$field=>$value)
?此处$field
必须是您的键id
和name
您正在执行的查询在哪里?代码在哪里代码在刀片中,我有一个名为query的输入:显示调用查询的代码。。。这不应该出现在视图中我现在更新了代码你知道这是一个可怕的想法,对吗?直接从用户获取sql查询并对数据库运行它
@foreach($querys as $data)
{{$data->name}}
@endforeach
@foreach($querys as $field=>$value)
<p> {{$field}} = {{$value}} </p>
@endforeach