簡體   English   中英

如何附加其他Yii 1.16 ActiveRecord模型?

[英]How Do I Append Additional Yii 1.16 ActiveRecord Models?

我對使用Yii調用記錄很熟悉,但是如何使用現有的活動記錄模型並使用其他查詢向其添加更多信息呢?

例如:

$user = User::model()->findByPk(1);
$user[] = User::model()->findByPk(2);

基本上,我試圖添加模型$ user1 + $ user2。 在這種類型的示例中,我希望用戶1和2都處於同一$ user模型中。 (我實際上沒有嘗試過上面的代碼,但是我認為它不會那樣工作。)從兩個請求中獲取的信息將完全相同。

請注意,我並不想同時獲得這兩個用戶。 我知道該怎么做。 在這個問題中,我試圖采用一個現有模型,並通過將兩個模型合並在一起,向其中添加更多數據以形成一個模型。

你可以這樣做:

$users = array();
$user1 = User::model()->findByPk(1);
$user2 = User::model()->findByPk(2);
array_push($users, $user1);
array_push($users, $user2);

現在$users是一個包含兩個對象的數組。

您可以使用

$users = User::model()->findAllByPk(array(1,2));

這將返回和用戶模型數組

沒有內置的Yii方法可以完成您要完成的任務。 相反,您可以對模型進行一些自定義增強。

private $additionalUsers = array();

public function addAdditionalUser($user)
{
    $this->additionalUsers[] = $user;
}

public function getAdditionalUsers()
{
    return $this->additionalUsers;
}

然后,您可以如下使用它:

$user = User::model()->findByPk(1);
$user->addAdditionalUser(User::model()->findByPk(2));

但是,在不了解“合並”模型的含義的情況下,這可能不是您想要的。 如果此答案不符合您的需求,則說明如何使用合並模型的示例將非常有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM