@Blud73

Как правильно втащить данные из двух таблиц?

Здравствуйте. Столкнулся с трудностями, при использовании Laravel 4.2
Есть модель Blog:
<?php
class Blog extends Eloquent {
	
	protected $table = 'blog';

    public function comments()
 		 {
    		return $this->hasMany('comments','page_id');
  		}
}

Имеется контроллер с такой функцией:
public function showWelcome()
	{
	    $take_main = blog::where('active', '=', true)->take(3)->get();
	    $total_comments = Blog::find(1)->comments()->where('active', '=', 1)->get()->count();
	    print_r($total_comments);
		//return View::make('hello', array('blog' => $take_main));
	}


Имеется 2 таблицы: {BLOG:id,name,desc},{COMMENTS:id,page_id,desc}

Мне необходимо получить 3 последние записи из BLOG и узнать сколько комментарий для каждой записи (для 3 записей).
Подскажите пожалуйста как сделать так что бы это все получить при минимуме нагрузке и усилий.
  • Вопрос задан
  • 2308 просмотров
Пригласить эксперта
Ответы на вопрос 1
@miki131
Пожалуйста, почитайте про отношение в Eloquent и сделайте Ваш код намного человечнее - one-to-many
Потом почитайте про ленивую загрузку - eager-loading
Тогда Вам станет понятно что и как делать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы