这是表结构,基本上有三个表,分别是费用,类别和类别

table expenses
(id,category_id,sub_category_id,date,description,amount)
table categories
(id,category_name)
table subcategories
(id,sub_category_name,category_id)


这是所需的SQL查询

select expense.date, expense.description, expense.amount,
category.category_name, subcategory.sub_category_name
from expenses as expense,categories as category,subcategories as subcategory
where expense.category_id=category.id and
    category.id=subcategory.category_id);


这是Expense模型中的函数,我通过该函数传递category_id
上面提到的相同查询是用laravel编写的,但我无法
获取数据。

function fetchExpenseData($categoryId)
{
    $expense = Expense::select("expenses.*","categories.category_name as
    Categoryname","subcategories.Sub_category_name")
        ->join("categories","categories.id","=","expenses.category_id");
        ->join("subcategories",function($join)
        {
            $join>on("subcategories.category_id","=","expenses.category_id")
                ->on("suncategories.id","=","expenses.sub_category_id")
        })->get();
    return $expenses;
}


返回的$ expenses将打印在blade.php中。
我能知道是什么错误吗

提前致谢

最佳答案

Hye there ,
You need to add eloquent model for retrieving data fromenter code here three tables
Like
I have School Table , Student Table , Teacher Table
School is relating with both Student and Teacher then we will add relationship
In School Model
`
public function getStudent(){
  return $this->hasMany('student_id' , App\Student);
}

public function getTeachers(){
  return $this->hasMany('teacher_id' , App\Teacher);
}

In Student table
public function getSchool(){
 return $this->hasOne('school_id' , App\School);
}
`
now call data from student
`
$students = Student::with('getSchool.getTeachers')->get()

This Demonstration for  what I have get from your Question

关于mysql - 从Laravel中的三个表中获取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52530505/

10-09 21:21