Php 在Laravel中从数据库获取数据
我想从名为“users”的数据库表中获取数据,并在表中显示输出 我已经写了下面的代码,但它不工作 我使用的是Laravel 5.5Php 在Laravel中从数据库获取数据,php,mysql,laravel,laravel-5,Php,Mysql,Laravel,Laravel 5,我想从名为“users”的数据库表中获取数据,并在表中显示输出 我已经写了下面的代码,但它不工作 我使用的是Laravel 5.5 @extends('layouts.app') @section('content') <div class="container"> <h2>Admin Panel</h2> <p>Data of the Registered Users.</p> <table class="tabl
@extends('layouts.app')
@section('content')
<div class="container">
<h2>Admin Panel</h2>
<p>Data of the Registered Users.</p>
<table class="table table-bordered">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Email</th>
</tr>
</thead>
<tbody>
$users = DB::table('users')->select('id','name','email')->get();
@foreach($users as $value)
<tr>
<td>{{ $value->id }}</td>
<td>{{ $value->name }}</td>
<td>{{ $value->email }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endsection
@extends('layouts.app'))
@节(“内容”)
管理面板
注册用户的数据。
身份证件
名称
电子邮件
$users=DB::table('users')->select('id','name','email')->get();
@foreach(用户为$value)
{{$value->id}
{{$value->name}
{{$value->email}
@endforeach
@端部
错误:未定义变量:用户
问题是您试图在(刀片)模板中混合使用PHP。尽管可以使用
@php
指令执行此操作,但这是一种糟糕的做法:视图不应包含任何业务逻辑
理想情况下,您希望从控制器传递此数据。它应该是这样的:
use Illuminate\Support\Facades\DB;
class UserController extends Controller
{
public function index()
{
$users = DB::table('users')->select('id','name','email')->get();
return view('some-view')->with('users', $users);
}
}
阅读有关向视图传递数据的更多信息。问题在于,您试图在(刀片)模板中混合使用PHP。尽管可以使用
@php
指令执行此操作,但这是一种糟糕的做法:视图不应包含任何业务逻辑
理想情况下,您希望从控制器传递此数据。它应该是这样的:
use Illuminate\Support\Facades\DB;
class UserController extends Controller
{
public function index()
{
$users = DB::table('users')->select('id','name','email')->get();
return view('some-view')->with('users', $users);
}
}
阅读有关将数据传递给视图的更多信息。您完全错了,
MVC
设计的要点是让您的控制器执行应用程序逻辑,让您的视图表示该数据的表示,让模型包含您需要的数据,在您的情况下,在视图中使用DB::table
完全忽略了这一点,因此下面是一个示例代码,您可能需要稍微更正一下它:
下面的示例没有显示MVC
模式,因为数据
是从路线的封闭内部传递的
web.php
Route::get('/', function () {
$users = DB::table('users')->select('id','name','email')->get();
return view('VIEW-NAME-HERE', compact('users'));
});
@foreach($users as $user)
{{ $user->id }} {{ $user->name }} {{ $user->email }}
@endforeach
view.blade.php
Route::get('/', function () {
$users = DB::table('users')->select('id','name','email')->get();
return view('VIEW-NAME-HERE', compact('users'));
});
@foreach($users as $user)
{{ $user->id }} {{ $user->name }} {{ $user->email }}
@endforeach
将VIEW-NAME-HERE
更改为您的VIEW
文件的名称,例如index
或用户。index
如果您做的都是错的,MVC
设计的重点是让您的控制器执行应用程序逻辑,视图表示该数据的表示形式
和模型包含所需的数据
,在这种情况下,在视图内部使用DB::table
,完全忽略了这一点,因此下面是一个示例代码,您可能需要对其进行一些纠正:
下面的示例没有显示MVC
模式,因为数据
是从路线的封闭内部传递的
web.php
Route::get('/', function () {
$users = DB::table('users')->select('id','name','email')->get();
return view('VIEW-NAME-HERE', compact('users'));
});
@foreach($users as $user)
{{ $user->id }} {{ $user->name }} {{ $user->email }}
@endforeach
view.blade.php
Route::get('/', function () {
$users = DB::table('users')->select('id','name','email')->get();
return view('VIEW-NAME-HERE', compact('users'));
});
@foreach($users as $user)
{{ $user->id }} {{ $user->name }} {{ $user->email }}
@endforeach
使用您的视图
文件名更改VIEW-NAME-HERE
,例如索引
或用户。索引
发布您的视图
和控制器
代码,您将用户
发送到视图的位置,以及您如何循环
,除了此之外,我还写了什么对不起“尚未”发布您的视图
和控制器
代码,您将用户
发送到视图的位置,以及您如何循环
,除此之外,我还写了其他内容对不起“尚未”“如何使此页面自动更新数据?@user9332352这是一个完全不同的问题,可以证明另一个问题的合理性。但是先做一些研究。考虑轮询、WebSoCube、Pub/Sub……我怎样才能使这个页面自动更新数据?@ USER 933,这是一个完全不同的问题,证明了另一个问题。但是先做一些研究。考虑轮询,WebSoCube,Pub/Sub…