将数据从数据库添加到laravel 5.4

时间:2017-12-11 14:23:15

标签: 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]);
   }
}

这给了我一个错误$ adss没有定义 我能做错什么?

1 个答案:

答案 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;