我正在努力做到这一点雄辩:
$product = new Product;
$product->name = $name;
$product->price = $price;
$product->save();
我收到了这个错误:
Call to undefined method Product::save()
在使用var_dump($product)
进行一些检查后,我发现它是由Laravel未加载位于Models
文件夹中的Product类的问题引起的。但问题是,我找不到覆盖它的其他产品类。从我在Laravel中创建的所有文件中,Models
文件夹中只有一个文件调用Product.php
,其中包含类名Product
。
这是我在模型文件夹
中的Product.php文件class Product extends Eloquent{
protected $table = 'myproduct';
}
我尝试将产品重命名为Myproduct,但它确实有效。但我需要找出产品不起作用的原因。 laravel是否保留了产品类别?如果没有,您能否建议哪些可能导致laravel未从Models文件夹加载Product类的地方?
谢谢。
答案 0 :(得分:0)
将Product类放在命名空间下。
<?php
namespace Foo; //change this to whatever you like
class Product extends \Eloquent
{
}
然后像new Foo\Product()