【问题标题】:How to make Query between two tables in laravel如何在laravel中的两个表之间进行查询
【发布时间】:2018-03-19 00:28:03
【问题描述】:

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

这是图表代码

$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 图表包的图表中查看来自数据库的数据

【问题讨论】:

  • 请分享你到目前为止尝试过的代码.. 了解的信息非常少
  • 我加了请看

标签: php mysql sql laravel laravel-5


【解决方案1】:

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

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

在您的任务中建模它的一对多关系。

Task.php(模型添加如下)

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

并在您的付款模型中建立其多对一关系。

Payments.php(假设)

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

现在想一想,您想为一项任务获得所有付款。让我展示一下例如:在命令行中

php artisan tinker

$task = App\Task::where('id',1)->get(); //Think that you have first task

$task->payments; //You can call the relation ship established condition function

认为您正在浏览付款并想要一项任务

php 工匠修补匠

$payment = App\Payment::where('id',1)->get();//查找id为1的支付,只是为了举例

$payment->任务; //这将是您在模型中编写的 task() 函数

【讨论】:

    【解决方案2】:

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

    定义了两个表之间的关系(如在一对一、一对多或多对多关系中),然后您将能够查询这些关系。

    【讨论】:

      猜你喜欢
      • 2021-01-09
      • 2016-01-26
      • 2020-06-03
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-18
      相关资源
      最近更新 更多