我正在尝试使用数据库中的数据在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]);
}
}
这给了我一个错误$ adss没有定义 我能做错什么?
答案 0 :(得分:2)
$adverts is not defined
错误即将发生,因为您在Laravel的情况下遗漏了echo
或{{$ adverts-> item}}。
您需要通过以下方式在您的刀片文件中回复$adverts
中的foreach
数据:
@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;