Eloquent Codeigniter 中的关系
Eloquent Relationship in Code Igniter
我一直致力于将 Laravel 的 Eloquent 关系集成到我的 Code Igniter 项目中。所以我按照 http://jamieonsoftware.com/post/90299647695/using-eloquent-orm-inside-codeigniter-with-added 中的步骤操作。一切正常。但是当我开始映射关系时,我得到类似
的错误
Fatal error: Call to undefined method Products::hasMany()
以下是我的产品模型文件
use \Illuminate\Database\Eloquent\Model as Eloquent;
class Product extends Eloquent{
protected $table = "products";
public function getActive(){
return Product::where('status', 1)->get();
}
public function Price(){
return $this->hasMany('Price', 'product_id');
}
}
这是我的价格模型
use \Illuminate\Database\Eloquent\Model as Eloquent;
class Price extends Eloquent{
protected $table = "price";
}
如何解决这个问题?
你必须调用它:
$product = Product::with('price')->get();
或
$product = Product::all();
$productPrice = $product[0]->price;
不是
$product = Product::Price();
一些信息:
如果你有一个 1:n 关系,你可以更好地定义它 "prices":
public function prices(){
return $this->hasMany('Price', 'product_id');
}
如果一个产品有一个以上的价格更利于阅读:
$product = Product::with('prices')->find(1);
我一直致力于将 Laravel 的 Eloquent 关系集成到我的 Code Igniter 项目中。所以我按照 http://jamieonsoftware.com/post/90299647695/using-eloquent-orm-inside-codeigniter-with-added 中的步骤操作。一切正常。但是当我开始映射关系时,我得到类似
的错误Fatal error: Call to undefined method Products::hasMany()
以下是我的产品模型文件
use \Illuminate\Database\Eloquent\Model as Eloquent;
class Product extends Eloquent{
protected $table = "products";
public function getActive(){
return Product::where('status', 1)->get();
}
public function Price(){
return $this->hasMany('Price', 'product_id');
}
}
这是我的价格模型
use \Illuminate\Database\Eloquent\Model as Eloquent;
class Price extends Eloquent{
protected $table = "price";
}
如何解决这个问题?
你必须调用它:
$product = Product::with('price')->get();
或
$product = Product::all();
$productPrice = $product[0]->price;
不是
$product = Product::Price();
一些信息: 如果你有一个 1:n 关系,你可以更好地定义它 "prices":
public function prices(){
return $this->hasMany('Price', 'product_id');
}
如果一个产品有一个以上的价格更利于阅读:
$product = Product::with('prices')->find(1);