Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Waldemar's avatar

PIvot table

Help please some one! I need to insert data in pivot table from 3 tables. http://prntscr.com/jcd6lx

block model

public function obj()
{
     return $this->belongsToMany(Obj::class, 'obj_block', 'block_id', 'obj_id');
}

Obj model

    {
        return $this->belongsToMany(Block::class, 'obj_block', 'block_id', 'obj_id');
    }

    public  function objState()
    {
        return $this->belongsToMany(ObjState::class, 'obj_block', 'block_id', 'obj_state_state')->withPivot('obj_state_state');
    }

ObjState model

public function obj()
    {
        return $this->belongsTo(Obj::class, 'obj_block', 'obj_id', 'obj_state_state');
    }

Controller

                    // Insert data into `block`
                    $block = new Block([
                        'name' => 'Блок 1',
                        'img' => 'image.jpg',
                        'description' => 'Описание блока 1'
                    ]);
                    $block->save();

                    // Insert data into `obj`
                    $obj = new Obj([
                        'name' => 'Object 1'
                    ]);
                    $obj->save();

                    // Insert data into `obj_state`
                    $objState = new ObjState([
                        'state' => str_random(10)
                    ]);
                    $objState->save();

                    $calc->page()->save($page); // Relation Page to Calc
                    $page->block()->save($block); // Relation Block to Page
                    $block->obj()->save($obj); // Relation Obj to Block
                    $obj->objState()->save($objState);

Plesase help what i do wrong?

0 likes
2 replies
bashy's avatar

What's it doing with that code used? You can definitely clean that code up.

Please or to participate in this conversation.