Laravel 5.1“给予”;类别';应用程序/用户';“未找到”;尽管名称空间、config/auth.php和文件位置正确
我在app/User.php中有一个用户模型类,带有Laravel 5.1“给予”;类别';应用程序/用户';“未找到”;尽管名称空间、config/auth.php和文件位置正确,php,laravel,laravel-5.1,Php,Laravel,Laravel 5.1,我在app/User.php中有一个用户模型类,带有名称空间app。另外,config/auth.php将其标记为'model'=>App\User::class 尽管如此,我的一个控制器的名称空间导入似乎仍然存在问题。如果调用orderProduct函数,下面的控制器文件将抛出“Model.php第765行中的FatalErrorException:类'App/User'not found”异常。调用product函数不会抛出相同的错误,尽管它使用了User类。我想知道错误是否与导入关系不大,
名称空间app代码>。另外,config/auth.php将其标记为'model'=>App\User::class
尽管如此,我的一个控制器的名称空间导入似乎仍然存在问题。如果调用orderProduct
函数,下面的控制器文件将抛出“Model.php第765行中的FatalErrorException:类'App/User'not found”异常。调用product
函数不会抛出相同的错误,尽管它使用了User类。我想知道错误是否与导入关系不大,而与不喜欢尝试将其与OrderHeader模型关联的用户类关系更大
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\OrderDetail, App\OrderHeader, App\Product, App\Shipping;
use App\User;
use Auth;
use DB;
use Illuminate\Http\Request;
class ProductController extends Controller{
public function __construct(){
$this->middleware('auth');
}
public function product(Product $id){
//$var = DB::select('select * from Product where pID = ?', [$id]);
//return var_dump($var);
//return view('product', ['product' => $var]);
$id = Auth::user()->id;
$user = User::find($id);
return $user;//$id;
}
public function products(){
$var2 = DB::select('select * from Product');
return view('products', ['products' => $var2]);
}
public function orderProduct(Request $request){
//Try and find the current incomplete order. If find fails, then create new order.
$order;
try{
$order = OrderHeader::where("UserID","=", Auth::user()->id)
->where('OrderCompleted', '=', false)->firstOrFail();
}catch(\Illuminate\Database\Eloquent\ModelNotFoundException $e){
$order = new OrderHeader;
//find user
$id = Auth::user()->id;
$user = User::find($id);
//associate user
$order->user()->associate($user);
//mark order incomplete
$order->OrderCompleted = false;
$order->save();
}
//ind matching or create new order detail. Update or add details and ave it to order.
$orderDetail;
try{
$orderDetail = $order->orderDetails()->where("ProductID", "=", $request->input("pID"))->firstOrFail();
//add feilds assignment
}catch(\Illuminate\Database\Eloquent\ModelNotFoundException $e){
$orderDetail = OrderDetail::create(['ProductID'=> $request->input("pID"), 'QtyOrdered' => $request->input("qty")]);
}
cartView($order);
}
/**
* This controller is called when updates are made from the cart page.
* It is capable of deleting an OrderDetail when the quantity is set to zero.
*
* @param Request $request
* The request must contain an OrderID and OrderDetailID, as well as an qty feild.
*/
public function orderUpdateProduct(Request $request){
//get the order, and then the associated order detail record
$order = OrderHeader::find($request->input("OrderID"));
$orderDetail = $order->orderDetails()->find($request->$input("OrderDetailID"));
//get the product qty. If zero, delete detail, if not, update qty.
$qty = $request->input("qty");
if($qty === 0){
$orderDetail->delete();
}
else{
$orderDetail->QtyOrdered = $qty;
$orderDetail->save();
}
//get view data and reload page.
cartView($order);
}
function cartView(OrderHeader $order){
if(($order->OrderCompleted === false)&& ($order->UserID === Auth::user()->id)){
$orderDetails = $order->orderDetails();
$products[0] = "You've got a problem.";
$i = 0;
foreach($orderDetails as $item){
$products[$i] = array("orderDetail" => $item, "product" => Product::where("id","=",$item->ProductID()));
$i++;
}
return view("cart",['products'=> $products]);
}else{
return redirect("products");
}
}
function finalizeOrder(Request $request){
$ccn = $request->ccn;
$ver = $request->ver;
$encrypted_credit = encrypt_text($ccn);
$encrypted_verification_num = encrypt_text($ver);
$order;
try{
$order = OrderHeader::where("UserID","=", Auth::user())
->where('OrderCompleted', '=', false)->firstOrFail();
}catch(\Illuminate\Database\Eloquent\ModelNotFoundException $e){
return veiw("welcome");
}
//TODO: Check this whole section to make sure db names match
$order->CreditCardNumber = $encrypted_credit;
$order->VerficationNumber = $encrypted_verification_num;
$order->OrderComplete = true;
$order->save();
$orderDetails = $order->orderDetails();
foreach($orderDetails as $orderDetail){
$product = Product::where("pID","=", $orderDetail->pID);
$stockQty = $product->Qty;
$product->Qty = $stockQty - $orderDetail->QtyOrdered;
$product->save();
}
return view("shipping");
}
}
?>
您的user()
和shippingAddress()
关系使用了错误的斜杠
return $this->belongsTo("App/User", 'id', 'OrderID');
应该是:
return $this->belongsTo("App\User", 'id', 'OrderID');
您的user()
和shippingAddress()
关系使用了错误的斜杠
return $this->belongsTo("App/User", 'id', 'OrderID');
应该是:
return $this->belongsTo("App\User", 'id', 'OrderID');
你能发布完整的错误吗
return $this->belongsTo("App/User", 'id', 'OrderID');
return $this->belongsTo("App\User", 'id', 'OrderID');