2015-10-22 3 views
0

У меня есть две таблицы:Laravel столбец сумма в таблице

LECTURES 
id name 
1 - Lesson 1 
2 - Lesson 2 
3 - Lesson 3 

LECTURESTYPE 
id id_lectures numb 
1 -  1 -  10 
2 -  2 -  20 
3 -  1 -  30 

Как я могу сумма заморозит столбец для каждого урока и взять результат, как: имя: Урок 1 онемели: 40

Я хочу, чтобы отобразить сумма онемения для каждого урока.

ответ

0

Попробуйте LECTURESTYPE::with('lectures')->sum('numb')->GroupBy('id_lectures')->get()

+0

, что realtionship мне нужно положить в модели – NikolaSae

+0

Для LECTURESTYPE модели: 'лекции публичные функции() {вернуть $ this-> hasMany (» App \ ЛЕКЦИИ», 'id_lectures'); } ' –

+0

Вызов функции-члена группыBy() по двойному – NikolaSae

0

Вам необходимо следующее соотношение:

Лекция (App \ Lecture.php)

namespace App; 
class Lecture extends Model { 
    protected $table = 'lectures'; 
    public function lecturetype() { 
     return $this->hasMany('App\LectureType'); 
    } 
} 

LectureType (App \ LectureType.php)

namespace App; 
class LectureType extends Model { 
    protected $table = 'lecturestype'; 
    public function lecture() { 
     return $this->belongsTo('App\Lecture'); 
    } 
} 

Теперь вы можете попробовать в контроллере:

$sum = App\LectureType::with('lecture')->GroupBy('id_lectures')->sum('numb'); 
+0

Что в контроллере? – NikolaSae

+0

$ sum = App \ LectureType :: with ('lecture') -> GroupBy ('id_lectures') -> sum ('numb'); – kotapeter

+0

только обратно ко мне номер 10 без массива – NikolaSae

0

Попробуйте LECTURESTYPE::with('lectures')->GroupBy('id_lectures')->sum('numb')

Смежные вопросы