Laravel数据透视表在数据库中为空

我有一个简单的表单来添加页面信息,表单看起来像这样

Laravel数据透视表在数据库中为空

如您在前提条件输入上方看到的那样,要添加前提条件,我们需要单击加号按钮,然后在弹出窗口中显示弹出窗口,我有一个包含以下输入的表单

1.bidder_name                   
2.params_name                   
3.params_value                  

因此,现在当用户从弹出菜单中保存前提条件输入时,数据将保存到名为parameters的表中,然后用户单击add page按钮并将数据保存到名为{{ 1}},

我想用添加的参数(禁止输入)链接添加的页面。

这是我到目前为止尝试过的

页面模型

pages

参数模型

class Page extends Model
{
    protected $fillable =[
        "title","articles","status"
    ];
    public function parameter(){
        return $this->belongsToMany('App\Parameter');
    }
}

这是数据透视表

 public function pages(){
        return $this->belongsToMany('App\Pages');
    }

在phpmyadmin中看起来是这样

Laravel数据透视表在数据库中为空

这里是存储功能,用于将前提条件输入(参数)保存在参数控制器中

public function up()
{
    Schema::create('page_parameter',function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->bigInteger('page_id')->unsigned();
        $table->foreign('page_id')->references('id')->on('pages');
        $table->bigInteger('parameter_id')->unsigned();
        $table->foreign('parameter_id')->references('id')->on('parameters');
    });
}

现在,当用户将数据保存到数据库时,我可以看到保存到页面表和参数表的数据,但数据透视表为空。

我对laravel很陌生,

现在,当我将数据保存到数据库时,public function store(Request $request){ // dd($request); if($request->ajax()) { $rules = array( 'params_name.*' => 'required','params_value.*' => 'required','bidders_name.*' => 'required' ); $error = Validator::make($request->all(),$rules); if($error->fails()) { return response()->json([ 'error' => $error->errors()->all() ]); } $params_name = $request->params_name; $params_value =$request->params_value; $bidders_name =$request->bidders_name; for($count = 0; $count < count($params_name); $count++) { $data = array( 'params_name' => $params_name[$count],'params_value' => $params_value[$count],'bidders_name' => $bidders_name[$count],); $insert_data[] = $data; // dd($insert_data); } Parameter::insert($insert_data); return response()->json([ 'success' => 'Data Added successfully.' ]); } } (数据透视表)为空;

我的代码在做什么错?

mingshiyy483 回答:Laravel数据透视表在数据库中为空

您需要创建页面项目的第一件事:

$page=Page::create(your data);

之后

$page->parameter()->insert($insert_data);
,
// Tag model  many to many relation ship

namespace App;
use Illuminate\Database\Eloquent\Model;
class Tag extends Model
{
    public function posts()
    {
        return $this->belongsToMany('App\Post')->withTimestamps();
    }
}


// // Post model  many to many relation ship


namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
  public function tags()
    {
        return $this->belongsToMany('App\Tag')->withTimestamps();
    }
}

// Show tag with post
<td>{{$tag->posts->count() }}</td>

// show post with tag 

<td>{{$post->tags->name}}</td>
本文链接:https://www.f2er.com/3155899.html

大家都在问