社区
其他技术讨论专区
帖子详情
yii\db\ActiveRecord::link()怎么用的?
weixin_38052002
2019-09-11 03:13:49
官方文档没怎么看懂……
...全文
8
2
打赏
收藏
yii\db\ActiveRecord::link()怎么用的?
官方文档没怎么看懂……
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_38061090
2019-09-11
打赏
举报
回复
如果你在class Order里定义了一个class Customer的关联(如order表里有一个customer_id的字段),在创建Order记录的时候,可能会有类似这样的执行: $order = new Order(); $order->customer_id = $customer->id; $order->save(); 如果在Order类里定义过外键关联(如下),那就可以通过link方法用面向对象的方式来给customer_id赋值: public function getCustomer() { return $this->hasOne(Customer::className(), ['id' => 'customer_id']); } 之前创建Order对象的语句就变成: $order = new Order(); $order->link('customer', $customer); // $order和$customer不能都是新创建的对象 这里link的作用只是将外键的值填到对应字段,但如果外键关联是通过中间表来实现的,那link会自动创建中间表记录。比如 有order表,item表,order_item表来存储order和item的关联。参考Relations via a Junction Table 如果在Order类里定义过外键关联如下: public function getItems() { return $this->hasMany(Item::className(), ['id' => 'item_id']) ->viaTable('order_item', ['order_id' => 'id']); } 那就可以通过link方法来关联Item对象: $order = new Order(); $order->link('items', $item); order_item表中会自动创建一条order_id为$order->id, item_id为$item->id的记录
weixin_38066498
2019-09-11
打赏
举报
回复
外键关联的,则会在外键赋值后会自动保存数据
YII
2-数据查询
Active
Record
方法
•[[
yii
\
db
\
Active
Record
::find()]] •[[
yii
\
db
\
Active
Record
::fin
dB
ySql()]] 以上两个方法都会返回 [[
yii
\
db
\
Active
Query]] 实例,该类继承自[[
yii
\
db
\Query]], 因此,他们都支 持同一套灵活且强大的
DB
查询方
Yii
2.0
Active
Record
解释了
The
Active
Record
class in
Yii
provides an object oriented interface (aka ORM) for accessing database stored data. Similar structures can be found in most modern frameworks like Laravel, CodeIgniter, S...
yii
框架增删改查
AR 用一个
DB
connection 对象与数据库交换数据。默认的,它使用
db
组件作为其连接对象。详见数据库基础章节,你可以在应用程序配置文件中设置下
db
组件,就像这样, return [ 'components' => ...
yii
2
db
操作
转载:https://github.com/
yii
soft/
yii
2/blob/master/docs/guide/
db
-
active
-
record
.md
Active
Record
Note: This section is under development.
Active
Record
provides an object-oriented ...
Yii
2 数据库
Active
Record
(ORM)
ACTIVE
RECORD
(ORM) 参考:http://www.
yii
framework.com/doc-2.0/guide-
db
-
active
-
record
.html namespace app\models;...use
yii
\
db
\
Active
Record
; class Customer extends
Active
Record
{ const STATUS_
ACTIVE
= 'act
其他技术讨论专区
476
社区成员
790,963
社区内容
发帖
与我相关
我的任务
其他技术讨论专区
其他技术讨论专区
复制链接
扫一扫
分享
社区描述
其他技术讨论专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章