基于laravel belongsTo使用详解
前提:订单表(order)和用户表(user)
表结构:
order
CREATETABLE`order`( `id`char(16)COLLATEutf8mb4_unicode_ciNOTNULLDEFAULT''COMMENT'订单号', `user_id`bigint(20)NOTNULLDEFAULT'0'COMMENT'用户id', UNIQUEKEY`id`(`id`), KEY`user_id`(`user_id`) )ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_unicode_ciCOMMENT='订单表';
user
CREATETABLE`user`( `id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'用户id', PRIMARYKEY(`id`), `username`varchar(32)COLLATEutf8mb4_unicode_ciNOTNULLDEFAULT''COMMENT'姓名', `password`char(60)COLLATEutf8mb4_unicode_ciNOTNULLDEFAULT''COMMENT'密码', PRIMARYKEY(`id`) )ENGINE=InnoDBAUTO_INCREMENT=10009866DEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_unicode_ciCOMMENT='用户表'
**表关系:**user->order:一对多
需求:在查看订单详情时显示下单用户
实现:
1、当order表中外键为user_iduser表主键为id时
publicfunctionuser() { return$this->belongsTo('Models\User'); }
2、当order表中外键为user_iduser表主键为uid
publicfunctionuser() { return$this->belongsTo('Models\User','user_id','uid'); }
返回结果:
{ "id":17021423166486, "user_id":10000003, "user":{ "id":10000003, "username":"", } }
以上这篇基于laravelbelongsTo使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。