我试图通过使用Eloquent并使用以下代码从包含字段productsid
的产品表中获取记录。我的型号名称是Products_description。
在我的路线档案中。
Route::get('product/{productsid}','productscontroller@show');
在我的控制器文件中
public function show($productid)
{
$Products = Products_description::find($productid);
return $Products;
}
但它向我显示Unknown column 'products_description.id'
的错误。看起来Eloquent默认尝试通过字段名id
获取记录,就像它对表名一样。但是如何通过id
以外的表字段获取记录。例如如果是productid
,我们会做什么/使用什么?
答案 0 :(得分:0)
$Products = Products_description::where('pruductid',$productid)->first();
或者你可以试试这个
Products_description模型
class Products_description extends Eloquent {
protected $primaryKey = 'productid';
}
答案 1 :(得分:0)
我假设您需要在表中查询主键以外的字段。您可以使用:
Products_description::where('productid',$productId)->first()
如果您正在谈论外键,那么您应该在模型中定义它们,如下所示:
return $this->hasOne('App\Phone', 'foreign_key');
以下是相关文件: https://laravel.com/docs/5.1/eloquent-relationships#one-to-one
答案 2 :(得分:0)
在您的模型中,声明您的$primaryKey
class Products_description {
protected $primaryKey = "productid";
//
}
这样您就可以使用::find
或firstOrFail
而不是where
。