php - 将数据从数据库添加到 laravel 5.4 的索引页面

标签 php database laravel-5

我正在尝试使用数据库中的数据在我的 Laravel 5.4 项目的登录页面上创建一个广告部分,但它不起作用。 欢迎,我添加了这行代码

    foreach($adverts as $advert)   {         
                 $advert;
                }

然后我用下面的代码创建了一个 WelcomeController

    namespace App\Http\Controllers;
    use Illuminate\Support\Facades\DB;
    use Illuminate\Http\Request;

    class WelcomeController extends Controller
    {
/**
 * Create a new controller instance.
 *
 * @return void
 */
public function __construct()
 {
    $this->middleware('auth');
}

/**
 * Show the application dashboard.
 *
 * @return \Illuminate\Http\Response
 */
public function index()
{
    $adverts = DB::table('adverts')->get();

    return view('welcome', ['adverts' => $adverts]);
   }
}

这给我一个错误 $adverts is not defined 我可能做错了什么?

最佳答案

$adverts is not defined 错误即将到来,因为你缺少 echo 或 {{ $adverts->item }} 在 Laravel 的情况下。

您需要通过以下方式在 Blade 文件的 foreach 中回显 $adverts 数据:

@foreach($adverts as $advert)       
     {{ $advert->item }}
@endforeach

或者您也可以像下面这样简单地使用 PHP:

foreach($adverts as $advert){         
    echo $advert->item;
}

您还可以将数据转换为数组,然后显示在 foreach 中,如下所示:

$adverts = DB::table('adverts')->get();
$adverts = json_decode( json_encode($adverts), true);

@foreach($adverts as $advert)         
    {{ $advert['item'] }}
@endforeach

您可以先通过以下方式检查 $advert 数组中的内容:

echo "<pre>"; print_r($adverts); die;    

关于php - 将数据从数据库添加到 laravel 5.4 的索引页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47754993/

相关文章:

php - Typo3 $this->cObj->enableFields() SQL 错误 WHERE AND

sql-server - 如何在 SQL Server 中将 bool 字段从可为 null 的列中删除?

mysql - 查询外键号码

php - 将 cookie 设置为在当天结束时过期

php - 缩放 mysql 插入的方法

php - 如何检查 Controller 上的 token (CSRF)?

数据库更改时,Android SimpleCursorAdapter 不会更新

php - MySQL Process List - 提高性能 - 锁定问题

拉维尔 : Pass dynamic variables to routes

authentication - 使用多个用户模型登录 nova 和 laravel