Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 07.10.2014 17:46:41

Заполнение таблицы связей

Всем привет, подскажите а то уже кипим... Есть 3 таблицы:

banners: id
sections: id
banner_section: id, banner_id, section_id

banners заполнена (нельзя трогать)
sections заполнена (нельзя трогать)
banner_section пустая (надо наполнить)


Есть данные с banners: 5
Есть данные с sections: ['0' => '100', '1' => '200', '1' => '300']

Как получить banner_section такого вида:

1 | 5 | 100
1 | 5 | 200
1 | 5 | 300

class BannerController extends BaseController {

public function test1()
	{
        $banner = Banner::find(5);
        $banner->sections()->sync([100,200,300]);
            
        echo '<pre>';
        print_r($res);     
        echo '</pre>';
        exit();
	}
}
class Banner extends Eloquent {
  
  protected $table = 'banners'; 
  protected $fillable = ['id',];  

 public function sections()
  {
    return $this->belongsToMany('section', 'banner_section', 'banner_id', 'section_id');
  }
 
}
class Section extends Eloquent {
  
  protected $table = 'sections'; 
  protected $fillable = ['id'];  
  

  public function banner()
  {
    return $this->belongsToMany('banner', 'banner_section', 'section_id', 'banner_id');
  }  

  }

Ругается что не видит Class:
Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_ERROR)
Class 'section' not found

Хелп я запутался, use писал нечего ...

Не в сети

#2 08.10.2014 22:17:46

Re: Заполнение таблицы связей

public function banner()
  {
    return $this->belongsToMany('banner', 'banner_section', 'section_id', 'banner_id');
  }
По моему метод должен быть во множественном числе.

Не в сети

#3 09.10.2014 16:25:29

Re: Заполнение таблицы связей

Все решил!

вот рабочий код:

Модель Banner

PHP
class Banner extends Eloquent {

  protected 
$table 'banners';
  protected 
$fillable = ['site''url''file''format'];

 public function 
Sections()
  {
    return 
$this->belongsToMany('Section''banner_section');
  }

}

Модель Section

PHP
class Section extends Eloquent {

  protected 
$table 'sections';
  protected 
$fillable = ['name''url'];


  public function 
Banners()
  {
    return 
$this->belongsToMany('Banner''banner_section');
  }

}

Контроллер Banner

PHP
            $one Banner::create([
                
'url' => 'Test1'
            
]);

            
$one->Sections()->attach([4,5]);

Не в сети

Подвал раздела