Laravel save() 一对多。插入 <column> 而不是 <column_id>。
Laravel save() one to many. Inserts to <column> instead of <column_id>.
当我尝试保存新对象时,出现此错误:
SQLSTATE[42S22]:未找到列:1054 'field list' 中的未知列 'epigrafe'(SQL:插入 articulo
(titulo
, epigrafe
, revista
, updated_at
, created_at
) 值 (Nuevo, 1, 1, 2016-04-11 08:23:32, 2016-04 -11 08:23:32))
插入内容应该在 epigrafe_id(也就是 revista_id)上。
型号:
命名空间应用;
使用Illuminate\Database\Eloquent\Model;
class Articulo extends Model
{
/**
* Model table
*
*/
public $table = "articulo";
protected $fillable = [
'titulo',
];
public function revista()
{
return $this->belongsTo('App\Revista');
}
public function autores()
{
return $this->belongsToMany('App\Autor');
}
public function epigrafe()
{
return $this->belongsTo('App\Epigrafe');
}
}
控制器:
public function store(Request $request)
{
$this->validate($request, [
'titulo' => 'required|max:100',
'revista' => 'required',
'epigrafe' => 'required',
]);
$data = $request->all();
$articulo = new Articulo;
$articulo->titulo = $request->titulo;
$articulo->epigrafe = $request->epigrafe;
$articulo->revista = $request->revista;
$articulo->save();
$articulo->autores()->articulos()->attach($articulo->id);
$articulo->autores()->attach($request->autor);
Session::flash('message', 'Articulo creado satisfactoriamente!');
return redirect()->to('articulo');
}
将您的代码更改为正确的列名。
$articulo->epigrafe_id = $request->epigrafe;
$articulo->revista_id = $request->revista;
当我尝试保存新对象时,出现此错误:
SQLSTATE[42S22]:未找到列:1054 'field list' 中的未知列 'epigrafe'(SQL:插入 articulo
(titulo
, epigrafe
, revista
, updated_at
, created_at
) 值 (Nuevo, 1, 1, 2016-04-11 08:23:32, 2016-04 -11 08:23:32))
插入内容应该在 epigrafe_id(也就是 revista_id)上。
型号:
命名空间应用;
使用Illuminate\Database\Eloquent\Model;
class Articulo extends Model
{
/**
* Model table
*
*/
public $table = "articulo";
protected $fillable = [
'titulo',
];
public function revista()
{
return $this->belongsTo('App\Revista');
}
public function autores()
{
return $this->belongsToMany('App\Autor');
}
public function epigrafe()
{
return $this->belongsTo('App\Epigrafe');
}
}
控制器:
public function store(Request $request)
{
$this->validate($request, [
'titulo' => 'required|max:100',
'revista' => 'required',
'epigrafe' => 'required',
]);
$data = $request->all();
$articulo = new Articulo;
$articulo->titulo = $request->titulo;
$articulo->epigrafe = $request->epigrafe;
$articulo->revista = $request->revista;
$articulo->save();
$articulo->autores()->articulos()->attach($articulo->id);
$articulo->autores()->attach($request->autor);
Session::flash('message', 'Articulo creado satisfactoriamente!');
return redirect()->to('articulo');
}
将您的代码更改为正确的列名。
$articulo->epigrafe_id = $request->epigrafe;
$articulo->revista_id = $request->revista;