Php 使用Phalcon和关系插入数据

Php 使用Phalcon和关系插入数据,php,relationship,phalcon,Php,Relationship,Phalcon,我刚刚开始研究如何使用Phalcon框架。我以前从未真正使用过框架(或者真正使用过MVC),所以这是一个学习曲线 我创建了两个表:User和Client 一个客户端可以有多个用户,但是一个用户只能有一个客户端 我有以下型号: <?php class User extends \Phalcon\Mvc\Model { public $id; public $name; public $email; public $username; public $password;

我刚刚开始研究如何使用Phalcon框架。我以前从未真正使用过框架(或者真正使用过MVC),所以这是一个学习曲线

我创建了两个表:
User
Client

一个客户端可以有多个
用户
,但是一个用户只能有一个
客户端

我有以下型号:

<?php
class User extends \Phalcon\Mvc\Model
{
  public $id;
  public $name;
  public $email;
  public $username;
  public $password;
  public $active;
  public $isAdmin; 
  public $client;

  public function initialize()
  {
    $this->setConnectionService('gateway-db');
    $this->belongsTo("clientId", "Client", "id");
  }
}

<?php
class Client extends \Phalcon\Mvc\Model
{
  public $id;
  public $code;
  public $name;
  public $active;

  public function initialize()
  {
    $this->setConnectionService('gateway-db');
    $this->hasMany("id", "User", "clientId");
  }
}

我可能做错了什么?

字段clintId不存在。您需要使用
$this->belongsTo(“id”、“Client”、“id”)。客户机模型也是如此

注意:您的字段
client
可能是一个整数,因此它不能包含整个
$client
对象

尝试分配id:
$user->client=$client->id

还可以考虑使用受保护的变量和getter/setter

$client = Client::findFirstByCode("DEM");  

$user = new User();
$user->email = "lock@lock.com";
$user->is_admin = 1;
$user->username = "lock";
$user->active = 1;
$user->name = "Lachlan";
$user->password = $this->security->hash("password");
$user->client = $client;