小编Mik*_*key的帖子

PHP中的模型验证,需要与数据库进行交互

假设我有这个模型.(为了演示目的,我非常简单.)

class User
{
    public $id;
    public $email;
    public $password;
    public $errors = [];

    public function isValid()
    {
        if (strpos($this->email, '@') === false) {
            $this->errors['email'] = 'Please enter an email address';
        }
        // ...

        return !$this->errors;
    }
}
Run Code Online (Sandbox Code Playgroud)

让我们说我有这个DAO用于检索,添加,更新和删除用户.

class UserDAO
{
    public function getUsers() { ... }

    public function getUserById($id) { ... }

    public function addUser(User $user) { ... }

    public function updateUser(User $user) { ... }

    public function deleteUser($id) { ... }

    public function isEmailUnique($email) { ... } …
Run Code Online (Sandbox Code Playgroud)

php validation dao

9
推荐指数
1
解决办法
435
查看次数

通过CodeIgniter连接到远程数据库

无法使用提供的设置连接到数据库服务器.

我一直无法将应用程序连接到远程数据库.我在运行应用程序时收到上面显示的错误.我在这个网站上看过这个问题的先前答案,但我没有运气解决它.从我学到的东西,我需要替换主机名,让我的mysql数据库接受外部连接,我已经完成了.我通过mysql命令行在我的database.php中尝试了相同的值,它可以工作.

那还有什么我可能会失踪?

这是我在database.php中的设置:

$active_group = 'staging';
$active_record = TRUE;

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'myDatabase';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

$db['staging']['hostname'] = 'XX.XX.XXX.XXX';
$db['staging']['username'] = 'user';
$db['staging']['password'] = 'pwd';
$db['staging']['database'] = 'myDatabase';
$db['staging']['dbdriver'] = 'mysql';
$db['staging']['dbprefix'] = '';
$db['staging']['pconnect'] = TRUE;
$db['staging']['db_debug'] = TRUE;
$db['staging']['cache_on'] …
Run Code Online (Sandbox Code Playgroud)

mysql codeigniter remote-access

7
推荐指数
1
解决办法
2万
查看次数

使用条件将属性从一个对象复制到另一个对象

懒惰我想知道是否有更好的方法将一个对象(源)中的属性复制到另一个对象(目标),只有在后者中存在属性时?它不一定要使用Underscore.

例如,

_.mixin({
    assign: function (o, destination, source) {
        for (var property in source) {
            if (destination.hasOwnProperty(property)) {
                destination[property] = source[property];
            }
        }
        return destination;
    }
});

console.log( _().assign({ a: 1, b: 2, d: 3 }, { a: 4, c: 5 }) ) // a: 4, b: 2, d: 3
Run Code Online (Sandbox Code Playgroud)

javascript underscore.js assign

6
推荐指数
2
解决办法
6911
查看次数

MongoDB/Mongoose 多对多关系 - 用户、项目和角色

我们的项目有以下要求-

  1. 用户可以是多个项目的一部分
  2. 一个项目可以有多个用户。
  3. 用户可以是项目的所有者或管理员或查看者。
  4. 显然,一个项目只能有一个所有者。
  5. 一个项目可以有多个管理员或查看者。
  6. 每个用户都有一个家庭/默认项目。

所以我创建了以下模式 - 但我无法使用 populate 并且我发现添加/更新/删除很多痛苦。此外,当我查询项目时,我想显示用户的电子邮件 ID,而不是 objectId,但不想使用电子邮件作为参考,因为用户可以更改他们的电子邮件。考虑到模式上最流行的操作,请帮助我进行更好的设计-

  1. 用户可以创建项目
  2. 将人员添加到项目
  3. 查看他的所有项目和成员
  4. 更改项目中某人的角色
  5. 从项目中删除某人
  6. 根据他们的权利查看项目和所有者和成员(电子邮件不是对象 ID)

以下工作模式存在于单独的文件 user.js 和 project.js 中,需要导出模型。

    var userSchema = mongoose.Schema({
      用户名:{类型:字符串},
      密码:字符串,
      电子邮件:{type:String, required:true, unique: true, index: true},
      createdAt: { type: Date, 默认: Date.now },
      名字:字符串,
      姓氏:字符串,
      home_project: {type:Schema.Types.ObjectId, ref:Project},
      所有者:[{type:Schema.Types.ObjectId, ref:Project}],
      管理员:[{type:Schema.Types.ObjectId, ref:Project}],
      查看器:[{type:Schema.Types.ObjectId, ref:Project}]
   });

    var projectSchema = mongoose.Schema({
      项目名称:{type:String, required:true, unique: true, index: true},
      createdAt: { type: Date, 默认: Date.now },
      所有者:{type:String, ref:User},
      管理员:[{type:String, ref:User}],
      查看器:[{type:String, ref:User}] …

database-design mongoose mongodb relationships mongoose-schema

6
推荐指数
0
解决办法
929
查看次数

您如何使用涉及一对多关系的表数据网关模式?

我一直在尝试通过阅读Martin Fowler 的企业应用程序架构模式来了解有关设计模式的更多信息.我遇到了表数据网关模式,并想知道如果你有涉及多个表的操作,你如何使用它?

我的理解是每个表都有自己的类.每个类都有用于访问单个表的SQL语句,但是当我的一些语句依赖于其他表时会发生什么?

这是一个具体的例子.如果我在两个表之间有一对多的关系,例如QuestionsChoices(多项选择题),并且想要检索一个包含所有选项的问题.然后我会有一个QuestionGateway带有方法的类,find()但是我还有一个ChoiceGateway带有方法的类findByQuestionId()来检索问题的所有选择吗?

design-patterns

5
推荐指数
2
解决办法
635
查看次数

PayPal Express Checkout集成与一页上的多个按钮

我目前有一个项目列表,每个项目都带有一个Paypal按钮。每个项目将通过单击其关联的按钮单独购买。

<ul>
    <li data-id="1">Item 1 <div class="paypal-button"></div></li>
    <li data-id="2">Item 2 <div class="paypal-button"></div></li>
    <li data-id="3">Item 3 <div class="paypal-button"></div></li>
</ul>

<script src="https://www.paypalobjects.com/api/checkout.js"></script>

<script>
    paypal.Button.render({
        // options
    }, '.paypal-button');
</script>
Run Code Online (Sandbox Code Playgroud)

不幸的是,似乎paypal.Button.render()只会渲染它找到的第一个元素。

是否可以对多个元素进行此调用?

javascript paypal express-checkout

4
推荐指数
2
解决办法
3042
查看次数