【问题标题】:Laravel: using database query in layouts page in LaravelLaravel:在 Laravel 的布局页面中使用数据库查询
【发布时间】:2020-10-08 17:48:34
【问题描述】:

我有主布局页面,我想在导航栏中使用一些数据库数据我这样做是为了获取数据:

<?php 

    use Illuminate\Support\Facades\DB;
    $my_cart = DB::table('carts')->where('user_id',Auth::user()->id)->get();
    $cart_count = $my_cart->count();
?>

购物车表在购物车模型中具有唯一字段 course_id 属于课程表,方法名为 Course() :

public function Course()
{
    return $this->belongsTo('App\Models\Course' ,'course_id');
}

现在我想显示课程名称取决于 $my_cart ,我尝试使用:

{{$mycart->Course->$course_name}}

但它给了我错误:

Undefined property: stdClass::$Course (View: D:\Wamp\www\srdemy\resources\views\layouts\app.blade.php)

当我使用 $my_cart 数据时,它会正确显示:

{{$mycart->course_id}}

但不能使用 Model ,我该如何解决这个问题?

【问题讨论】:

    标签: php laravel model


    【解决方案1】:

    DB 类不是 Eloquent 类,因此不加载 Cart 模型,也无权访问关系。您需要改用 Cart 类。如果您的购物车型号命名为Cart,那么您会这样做

    $my_cart = Cart::where('user_id',Auth::user()->id)->get();
    

    【讨论】:

    • 谢谢你是对的,我忘了使用控制器,最好的尊重
    猜你喜欢
    • 2015-12-11
    • 2014-06-04
    • 2015-01-05
    • 1970-01-01
    • 2021-05-09
    • 2018-07-07
    • 2017-08-22
    • 2021-03-21
    相关资源
    最近更新 更多