Php Laravel雄辩关系获取第三个表/关系值
我在一个数据库中有3个表Php Laravel雄辩关系获取第三个表/关系值,php,laravel,eloquent,eloquent-relationship,laravel-5.8,Php,Laravel,Eloquent,Eloquent Relationship,Laravel 5.8,我在一个数据库中有3个表 交易{'id','bill_id','remark'} 票据{'id','third_party','amount'} 第三方{'id','company_name',remark} 'transaction'表中有一列来自'Bills'的bill\u id,Bills表中有一列连接到第三方表列->'id' 因此,在这里,我试图使用laravel雄辩的关系获取公司名称 我的交易型号: public function Bills() { return $this-
{'id','bill_id','remark'}
{'id','third_party','amount'}
{'id','company_name',remark}
bill\u id
,Bills表中有一列连接到第三方表列->'id'
因此,在这里,我试图使用laravel雄辩的关系获取公司名称
我的交易型号:
public function Bills()
{
return $this->hasOne('App\Bills','id','bill_id');
}
账单:
public function third_party()
{
return $this->belongsTo('App\ThirdParty','third_party','id');
}
我正在为公司名称
这是我正在使用的查询
Transaction::with('Bills.third_party')->get();
我已经将问题(第三方名称)更正为公司名称,我在这里写的列名是我的旧加入查询名称,在屏幕截图中可见,基本上我正在尝试获取公司名称。您能显示所有代码吗?公司名称如何设置为第三方名称
通过遵守laravel的“约定”或“建议命名”,您可能会获得很多好处,这将免费为您提供许多功能,并使您的代码更易于阅读、编写和调试
例如,您的关系方法名称(Bills(),third_party()),但更重要的是,如果您以“laravel方式”命名表字段,您将获得更容易的有说服力的关系,因为不需要定义外键等
我会将其设置为类似于:
交易{'id'、'bill_id'、'remark'}
账单{'id','third\u party\u id','amount'}你能显示你所有的代码吗?公司名称如何设置为第三方名称
通过遵守laravel的“约定”或“建议命名”,您可能会获得很多好处,这将免费为您提供许多功能,并使您的代码更易于阅读、编写和调试
例如,您的关系方法名称(Bills(),third_party()),但更重要的是,如果您以“laravel方式”命名表字段,您将获得更容易的有说服力的关系,因为不需要定义外键等
我会将其设置为类似于:
交易{'id'、'bill_id'、'remark'}
Bills{'id'、'third_party_id'、'amount'}我不使用Laravel,但我在里面没有看到任何外键,或者至少在我看来没有外键。对于#3,该表与其他2个表的关系如何?忘记了上一个{'id','company_name',remark}
-只是说。在Bills表列名中,第三方是属于第三方表的外键主键'id'显示sameI的雄辩查询不使用Laravel,但我在其中没有看到任何外键,或者至少在我看来没有外键。对于#3,该表与其他2个表的关系如何?忘记了上一个{'id','company_name',remark}
-只是说。在Bills表列名中,第三方是外键,属于第三方表主键'id'显示samei的雄辩查询已更新雄辩查询,查询结果返回到json编码响应的视图。我已更新雄辩查询,查询结果作为json编码的响应返回视图。
class Transaction extends Model
{
public function Bills()
{
return $this->hasOne('App\Bills');
}
}
class Bills extends Model
{
public function ThirdParty()
{
return $this->belongsTo('App\ThirdParty);
}
}