Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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 在Laravel中从数据库获取数据_Php_Mysql_Laravel_Laravel 5 - Fatal编程技术网

Php 在Laravel中从数据库获取数据

Php 在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

我想从名为“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="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…