如何在laravel中的两个表之间进行查询

时间:2017-10-07 09:18:50

标签: php mysql sql laravel laravel-5

您好我想询问如何在2个表中进行查询以获取表付款的值摘要,其中type_id = id来自types表,这是表结构

types table

payments table

这是图表代码

$chartـin_contract = Charts::create('bar', 'highcharts')
        ->title('My nice chart')
        ->labels($value_type->type)
        ->values([5,10])
        ->dimensions(0,500);

在标签中我从数据库中获取值但是没有与我合作

这是直接查询

$value_type = DB::select('select type, value from payments,types where payments.`type_id` = types.id');

我希望查看来自图表中数据库的数据我正在使用laravel chart包

2 个答案:

答案 0 :(得分:0)

为此,您需要在表格中建立关系

  

注意:我假设您的任务可能有多笔付款

任务模型中一对多关系。

Task.php(模型添加以下内容)

test-module

在您的付款模型中,多对一关系。

Payments.php(假设)

public function payments(){
   return $this->hasMany(Payments::class);
}

现在想想要获得任务的所有付款。让我在命令行中显示例如:

public function task(){
   return $this->belongsTo(Task::class);
}

认为你正在考虑付款并想要一项任务

php artisan tinker

$ payment = App \ Payment :: where('id',1) - > get(); //只为了示例而找到ID为1的付款

$费付款,>任务; //这将是您在模型中编写的task()函数

答案 1 :(得分:0)

请查看Laravel文档中的Eloquent Relationships - https://laravel.com/docs/5.5/eloquent-relationships

定义了两个表之间的关系(如一对一,一对多或多对多关系),然后您就可以查询这些关系。