duanemei2194 2016-04-11 08:41
浏览 125
已采纳

Laravel save()一对多。 插入<column>而不是<column_id>。

When i try to save a new object, i get this error:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'epigrafe' in 'field list' (SQL: insert into articulo (titulo, epigrafe, revista, updated_at, created_at) values (Nuevo, 1, 1, 2016-04-11 08:23:32, 2016-04-11 08:23:32))

The insert should be on epigrafe_id (also revista_id).

Model:

namespace App;

use 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');
}

}

Controller:

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');
}
  • 写回答

1条回答 默认 最新

  • duanjia9577 2016-04-11 08:43
    关注

    Change you code to the correct column names.

    $articulo->epigrafe_id = $request->epigrafe;
    $articulo->revista_id = $request->revista;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决