dongwuli5105 2018-06-28 05:07
浏览 34
已采纳

Laravel从每个阵列怎么样?

this is the result of a Foreach loop get method using dd$($value),

Questions: how do i convert this inside my controller into an array and store it into my database

Example: [Lead_id1=Subjectid1 , Lead_id2=Subjectid1, Lead_id3=Subjectid1] so on and so fort..

Note: Lead_id and Subject_id are both FK there for the value must be integer Not String

Controller:

public function store(Request $request)
{
    $value=$request->all();
    $subjects = $value['Subject_id'] ?? [];
    $leads = $value['Lead_id'] ?? [];
    $data = [];
     foreach ($subjects as $subject) {
     $data[] = array_combine($leads, array_fill(0, count($leads), $subject));

    $scores=new Score;
    $scores->Subject_id=$request->input('Subject_id');
    $scores->Lead_id=$request->input('Lead_id');
   dd($scores);
    $scores->save();
}

this is the resultenter image description hereenter image description here

Score Model

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Score extends Model
{
    protected $guarded = [
        'id',
        'Year_id',
        'Term_id',
        'Level_id',
        'Classes_id',
        'Subject_id',
        'Lead_id',
    ]; 
}
  • 写回答

4条回答 默认 最新

  • doushan5222 2018-06-28 06:08
    关注

    You said Lead_id and Subject_id both are foreign key then you can simply use ManyToMany relation in laravel and save the data accordingly

    Subject Model

    class Subject extends Model{
       public function leads(){
         return $this->belongsToMany(Lead::class, 'scores', 'Subject_id', 'Lead_id');
       }
    }
    

    Lead Model

    class Lead extends Model{
       public function subjects(){
         return $this->belongsToMany(Subject::class, 'scores', 'Lead_id', 'Subject_id');
       }  
    }
    

    Questions: how do i convert this inside my controller into an array and store it into my database

    foreach($data['Subject_id'] as $subjectId){
        $subject = Subject::find($subjectId);
        $leadids = $data['Lead_id'];
        $subject->leads()->attach($leadids);
    }
    

    For details check this https://laravel.com/docs/5.6/eloquent-relationships#many-to-many

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?