Php Laravel-雄辩的关系不适用于一对多关系
我有两个一对多关系的模型。我想在blade中显示具有关系的数据 产品表 类别表 产品型号代码 类别模型代码 控制器代码 名称空间App\Http\ControllersPhp Laravel-雄辩的关系不适用于一对多关系,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有两个一对多关系的模型。我想在blade中显示具有关系的数据 产品表 类别表 产品型号代码 类别模型代码 控制器代码 名称空间App\Http\Controllers use Illuminate\Http\Request; use App\productsModel; class productsController extends Controller { //code... public function products($category_id='') {
use Illuminate\Http\Request;
use App\productsModel;
class productsController extends Controller
{
//code...
public function products($category_id='')
{
# code...
$data["products"] = productsModel::where
('cat_id',$category_id)
->get();
$data["categories"] = productsModel::where
('cat_id',$category_id)->first()->category;
echo "<pre>";
print_r($data);
echo "</pre>";
}
}
错误:
Symfony\Component\Debug\Exception\FatalThroTableError
找不到类“APP\categoryModel”似乎有时有APP,有时有APP,虽然PHP对类名不区分大小写,但您可能会使用操作系统Linux?就文件名而言,这是区分大小写的
我建议在任何地方都只使用App,您的错误消息清楚地表明:App。您可以在模型文件中清楚地看到名称空间被写为名称空间App; 您在此处定义了应用程序文件夹的命名空间。因此,当您在任何地方使用此模型时,您需要按照定义的名称空间编写它。因此,App\categoryModel。 您的代码应如下所示:
public function category()
{
return $this->belongsTo(abcModel::class,'cat_id');
}
另外,正如@alithedeveloper提到的,这也是一个真诚的请求,请遵循PSR标准编写代码
public function products()
{
return $this->hasMany(productsModel::class,'cat_id');
}
首先,您需要查找用于编写代码的PSR标准以及如何命名classesAPP!=应用程序。命名空间不区分大小写。是的,在产品模型中将应用更改为应用后,它将正常工作。
namespace App;
use Illuminate\Database\Eloquent\Model;
class categoryModel extends Model
{
//code...
protected $table = 'categories';
protected $primaryKey = 'cat_id';
// One Category Has Many Products
public function products()
{
# code...
return $this->hasMany('App\productsModel','cat_id','pro_id');
}
}
use Illuminate\Http\Request;
use App\productsModel;
class productsController extends Controller
{
//code...
public function products($category_id='')
{
# code...
$data["products"] = productsModel::where
('cat_id',$category_id)
->get();
$data["categories"] = productsModel::where
('cat_id',$category_id)->first()->category;
echo "<pre>";
print_r($data);
echo "</pre>";
}
}
public function category()
{
# code...
return $this->belongsTo('App\categoryModel','cat_id');
}
public function category()
{
return $this->belongsTo(abcModel::class,'cat_id');
}
public function products()
{
return $this->hasMany(productsModel::class,'cat_id');
}