我有以下型号和控制器,但它不断抛出错误:
Call to undefined method Illuminate\Database\Query\Builder::cartItems()
这是我的模特和控制器:
class Cart extends Model
{
protected $fillable = [
'user_id',
'coupon_id',
];
public function cartItems()
{
return $this->hasMany('App\CartItem');
}
}
use App\Cart;
use App\CartItem;
class CartController extends Controller
{
public function index()
{
$userId = Auth::user()->id;
$cart = Cart::where('user_id', '=', $userId);
$cartItems = $cart->cartItems()->get();
//...some other stuff...
return view('cart.index', compact('cartItems'));
}
}
答案 0 :(得分:0)
不要将其称为功能:
$cart = Cart::where('user_id', '=', $userId)->first();
$cartItems = $cart->cartItems;
Laravel将负责其余工作,并从数据库中获取项目。