草庐IT

模型剪枝

全部标签

php - CakePHP 别名破坏了 HABTM 模型

考虑CakePHP2.2.3中的以下HABTM关系:classUserextendsAppModel{public$hasAndBelongsToMany=array('Role'=>array('className'=>'Role','joinTable'=>'roles_users','foreignKey'=>'user_id','associationForeignKey'=>'role_id',));}这工作正常,但是当使用像VeryUniqueAlias这样的别名而不是Role并相应地更改UsersController时,m:n关系不会保留在数据库中(传递给Controll

php - 三向(模型)关系

我有以下SchemaandModel设置,用这个seeddata.我的目标是实现三向关系,这可能是一个错误的术语,但最后,这就是我所说的。三向如:支票附有代币附加token具有附加值,这些值可识别支票->token附件。问题在于从Token到Value的关系,当我加载Values时,它们不会考虑关联的Cheque因此,返回属于Token的所有值。我不知道ValueSchema对于这种三向关系是否正确,因此,我也怀疑属于Cheque的Value模型关系和Token是正确的。这就是我目前请求模型的方式(摘自设置):Route::get('test',function(){$cheque=C

php - yii 附加模型属性及其范围

我正在从数据库中获取大量订单记录,我想添加另一个字段,即相关表(客户)中的列,以获取记录。但是这个字段不会被直接获取,因为它不是订单模型的一部分。所以我向模型添加了一个属性来保存这个额外的属性,并且我的选择是这样的:$criteria=newCDbCriteria();$criteria->join='INNERJOINcustomerscONt.idCustomer=c.idCustomer';$criteria->select='t.*,c.CustomerNameASCustomerName';//CustomerNameistheaddedattribute$data=Orde

php - symfony2 多对多奏鸣曲管理模型列表

我正在使用最新的Symfony2和SonataAdmin来维护我的网站,这是我的问题:我有两个实体:商店和折扣。一个商店可以有多个折扣,一个折扣可以分配给多个商店。因此它应该是多对多关系。我想在ShopAdmin中使用sonatata的type_model_list,这样我就可以从弹出窗口中选择这些折扣并选择多个。这可能吗?这是我的商店实体的一部分:useDoctrine\Common\Collections\ArrayCollection;.../***@var\Doctrine\Common\Collections\ArrayCollection*@ORM\ManyToMany(t

php - 如何通过 SyliusResourceBundle 使用 Sylius 创建新模型

我找到并成功使用了有关如何在Sylius中覆盖现有模型的文档,但我无法使用SyliusResourceBundle创建一个全新的模型。如果您已经了解Symfony2,我猜这很容易?我还在学习,这就是我所拥有的……我缺少什么?我使用完整的Sylius安装作为我的基础,所以我从这里开始http://sylius.org/blog/simpler-crud-for-symfony2我有自己的“AstoundBundle”设置和几个覆盖和Controller。我将此添加到我的配置中:sylius_resource:resources:astound.location:driver:doctri

php - Eloquent 模型上的保留字

我有一个产品模型和一个属性模型。产品有属性。问题是我不能将属性用作扩展Eloquent产品类的成员,因为Eloquent已经使用了它。有解决办法吗?classProductextendsModel{protected$attributes;//...} 最佳答案 你不会绕过重命名你的关系。例如productAttributes。这里的问题是,Eloquent经常使用attributes属性,没有办法通过配置或覆盖一小段代码来更改它。您需要覆盖很多类才能将名称更改为其他名称,这绝对不值得。

php - 没有在 Eloquent 模型中设置表

我在使用Eloquent模型设置表格时遇到了一些问题。我以前做过很多次,但出于某种原因,这似乎不起作用。我在这里完全错过了什么吗?型号:classF5HostextendsEloquent{protected$guarded=array();protected$table='f5hosts';publicfunctionEnvironments(){return$this->belongsTo('Environment');}}用法:$host=newF5Host;return$host->all();错误:SQLSTATE[42S02]:Basetableorviewnotfound

php - Laravel 5 通配子域+路由模型绑定(bind)

所以当你在类似这样的通配符子域组路由中定义资源Controller时:Route::group(array('domain'=>'{subdomain}.example.com'),function(){Route::resource('users','UserController');});在RouteServiceProvider上$router->model('user','App\User');在UserControllershow方法上:publicfunctionshow($user){return$user;}我得到的是子域名而不是用户资源。这是因为subdomain参数

php - Laravel 5.4 关系未在模型启动方法中加载

我有一个名为“Poll”的模型。在Poll模型中,我定义了一个引导方法,如下所示:publicstaticfunctionboot(){parent::boot();self::created(function($model){//dd($model);$speakers=$model->speakers()->get();//dd($speakers);//WhatIwanttodohereis:createpolloptionsrelationfromspeakersasfollows//$poll->poll_options()->create([//'option'=>$spe

php - 在服务层或模型中的何处放置插入和获取查询逻辑?

我想使用服务层。但有一些问题。我将提供示例并进行讨论。假设在Controller存储功能中,我编写了错误的代码,例如我在那里进行了验证,我在那里也有模型,为该模型提供用户输入的属性并存储它。基本上我把所有东西都放在一个Controller里,这导致了胖Controller。现在,我们可以做两件事来解决这个问题。1)将验证逻辑移动到验证类(简单),然后我们创建新的模型实例并为其设置属性并将其存储在数据库中(该逻辑现在在Controller中,但我们将其带到模型中)。这样每当我们需要在另一个地方使用相同的东西时,我们就可以调用这个模型的函数。如果我们没有这样做,我们会一遍又一遍地重复这个逻