Php 将数据插入数据库-LARAVEL

Php 将数据插入数据库-LARAVEL,php,laravel,laravel-5,laravel-5.2,Php,Laravel,Laravel 5,Laravel 5.2,这为我创建了一个新项目。但是,我想做的是在数据库中添加属于另一个名为projects\u air的数据库表的附加字段,并为该项目添加这些air详细信息 public function newProject(Request $request) { $data = $request->all(); $attributes = []; $attributes['title'] = $data['title']; $at

这为我创建了一个新项目。但是,我想做的是在数据库中添加属于另一个名为projects\u air的数据库表的附加字段,并为该项目添加这些air详细信息

  public function newProject(Request $request)
    {
        $data = $request->all();

        $attributes = [];
        $attributes['title'] = $data['title'];
        $attributes['start_date'] = date("Y-m-d h:i:s", strtotime($data['start_date']));
        $attributes['end_date'] = date("Y-m-d h:i:s", strtotime($data['end_date']));
        $attributes['created_by'] = Auth::user()->id;
        $attributes['description'] = $data['description'];
        $attributes['air'] = '10';
        $attributes['water'] = '19';
        $attributes['lat'] = $data['lat'];
        $attributes['lng'] = $data['lng'];



//        var_dump($attributes);
//        return;

        $project = Projects::create($attributes);
        $air = Projects_air::create($airattributes);

        if($project)
            return redirect('home')->with('success', 'Project added successfully');

        var_dump($data);
        return;
    }
要插入数据库的其他数据:

     $airattributes['dust'] = $data['dust'];
    $airattributes['noise'] = $data['noise'];
    $airattributes['temperature'] = $data['temperature'];
    $airattributes['radiation'] = $data['radiation'];
我希望这些数据也属于一个项目,它们(projects表和projects\u air表)都有一个名为“project\u id”的列

我尝试过使用这个
$air=$project->air()->create($airtattributes)但是我得到一个错误,列PROJECTS\u ID不存在,这是真的。应该是项目ID,但我不知道错误在哪里

您可以在此处查看界面:

更新: 空气模型:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Air extends Model
{
    protected $table = 'projects_air';
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'project_id', 'temperature', 'radiation', 'dust', 'noise'
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'id',
    ];
}

定义模型中的关系:

class Projects extends Model {
    public function air() {
        return $this->hasMany('App\Projects_air');
    }
}
然后在控制器中:

$project = Projects::create($attributes);
$air = $project->air()->create($airattributes);

我应该在哪里定义$air?您不需要定义它,您将为它分配新创建的air项目。它们都有不同的表:air有不同的表,project有不同的表。我已经编辑了您的代码,您需要使用
air()
而不是
air
。如果您希望访问关系查询生成器,则应将关系作为一种方法进行访问,在本例中,您是这样做的。那么,您在上面的代码中在哪里创建数组呢?您应该创建
airattributes
,并确保在项目中具有适当的
filleble
属性。\u air model您可以添加模型代码吗?恐怕我没有完全理解问题所在。
$project = Projects::create($attributes);
$air = $project->air()->create($airattributes);