簡體   English   中英

在Yii中獲取外鍵

[英]getting the foreign key in Yii

我有像這樣的數據庫

 ======= Group ========
 id
 name

 ======= Member ========
 id
 group_id
 firstname
 secondname
 membersince

現在,在“組控制器”文件中,我已使用操作更新來更新模型

public function actionUpdate($id)
  {
    $model=$this->loadModel($id);
    $member = Member::model()->findByPk($_GET['id']);

    if(isset($_POST['Group']))
    {
      $model->attributes=$_POST['Group'];
      if($model->save())
      {
        $member->attributes = $_POST['Member'];
        $member->group_id = $model->id;
        if($member->save())
        {
          $this->redirect(array('view','id'=>$model->id));
        }
      }
      $this->redirect(array('view','id'=>$model->id));
    }

    $this->render('create',array(
      'model'=>$model,
      'member'=>$member,
    ));
  }

現在,由於我有兩個模型Group和Member,並且在組控制器文件中保存了成員屬性。 所以我的問題是當我使用這一行時$member = Member::model()->findByPk($_GET['id']); 從表成員那里獲取group_id,我可以在其中獲取該組的完整字段。 因此有人可以告訴我如何從該表中獲取group_id。我搜索了文檔,但沒有找到諸如findByFk之類的字段。 所以請引導我。

組和成員之間的關系是一對多。因此,一個組ID可能存在多個成員,並且您的操作行為看起來並不完全正確。

無論如何,您要查找的代碼應為以下代碼:

$member = Member::model()->findByAttributes(array('group_id', $_GET['id']));

它記錄在這里: http : //www.yiiframework.com/doc/api/1.1/CActiveRecord#findByAttributes-detail

您可以使用findByAttributes()

$member = Member::model()->findByAttributes(array('group_id'=>$_GET['id']));

暫無
暫無

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

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