我在向桌子输入数据时收到此错误
class EntryController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function entry(Request $request){
$category = category::create(['cat_name' => $request->input('cat_name')]);
$product= product::create([
'Product_name'=>$request->input('Product_name'),
'Produc_quantity'=>$request->input('Produc_quantity'),
'Product_Desc' =>$request->input('Product_Desc'),
'cat_id'=>$category->cat_id]);
class category extends Model
{
protected $fillable = array('cat_description','cat_name');
public function product()
{
return $this->hasMany(product::class);
}
//
}
这些是我的模特
class product extends Model
{
protected $fillable = array('Product_name','Product_Desc',
'Produc_quantity','sale_price',
'cost_price');
public function category()
{
return $this->belongsTo(category::class);
}
//
}
我已经从产品模型中的$ fillables中删除了cat_id,这是错误的,我不理解这一点我查了很多论坛和问题,但我没有找到一个答案 这是产品表
Schema::create('products', function (Blueprint $table) {
$table->increments('product_id');
$table->string('Product_name');
$table->string('Product_Desc');
$table->integer('sale_price');
$table->integer('cost_price');
$table->integer('Produc_quantity');
$table->integer('cat_id')->unsigned();
$table->foreign('cat_id')->references('cat_id')->on('categories');
$table->timestamps();
这是类别表
Schema::create('categories', function (Blueprint $table) {
$table->increments('cat_id');
$table->string('cat_name');
$table->string('cat_description');
$table->timestamps();
答案 0 :(得分:0)
您确定该类别已成功创建吗?
如果是这样,您可能需要在cat_id
添加$fillable
此外,在使用cat_id
等自定义ID时,您需要添加
public $primaryKey = 'yourkey'
答案 1 :(得分:0)
我解决了这个问题实际上我的product
模型中存在问题$fillables
我在我的类别模型cat_id
中添加$fillables
来解决此问题谢谢你的帮助