我正在尝试使用数据库中的数据在我的 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/