草庐IT

模型剪枝

全部标签

php - 给定字符串模型时,Laravel Eloquent Find 不起作用

我在Laravel中将一个模型作为字符串存储在变量中。$model="App\Models\City";我想要的是$model::find(1)tofetchtheCitywithIDof1但是它并没有像预期的那样工作。然而,当我这样做的时候City::find(1)不使用$model变量。我可以获取我预期的结果。有人吗? 最佳答案 您可以从servicecontainer中解析类$model=app("App\Models\City");$model::find(1); 关于php-给

php - 何时在模型 (MVC) 中包含辅助方法?

我认为问这个问题最简单的方法是考虑我所面临的实际情况。在我们的系统中,我们有一个Site模型(此处为经典MVC框架)代表我们的site表中的一行。站点模型中存储的site表的字段之一是站点的时区。我们使用它来将数据库中的UTC日期时间调整为显示的站点时区。有一些辅助方法可以帮助实现这一点:utcDatetimeToSiteTimestamp()、utcTimeStampToSiteDatetime()等。由于这些辅助方法使用站点模型中保存的站点的时区,是否可以将这些方法包含在模型中?还是应该将它们放在一个单独的辅助类中?我知道模型应该做的不仅仅是保存数据库中的一行数据,但是作用于该数据

php - 在 CakePHP 中创建临时表并将其作为模型加载

我的计划是使用$this->Model->query();创建一个临时表;方法然后将其作为模型加载,但我收到错误消息“缺少数据库表”。将调试打开到二级显示临时表已成功完全创建,但出于某种原因,当我尝试将其作为模型加载时它不起作用。看起来Cake甚至没有尝试查看表是否存在,因为没有显示“SHOWFULLCOLUMNSFROM...”查询。不确定如何强制Cake检查其是否存在。$tmpModel='tempModel';$tmpTable='temp_models';$this->Model->query('CREATETEMPORARYTABLE`'.$tmpTable...);$thi

php - 删除操作不适用于 Yii 中的相关模型

我在两个模型(照片、相册)中有这些关系。在项目模型中:'photo'=>array(self::HAS_MANY,'photo','album_id')在照片模型中:'album'=>array(self::BELONGS_TO,'Album','album_id'),并且在actionDelete的albumController中:$this->loadModel($id)->photo->delete();但是没有任何反应,相册也没有被删除。问题是什么? 最佳答案 相册里有很多你的关系照片,你应该循环删除它们$photos=$t

php - GridView 中相关模型的过滤器设置

我正在尝试在Yii2的GridView中为相关模型设置过滤器小部件,但我不断收到错误消息,例如过滤器值必须是整数。我关注了thisquestion.现在,我有两个模型Services.php和ServiceCharge.php。在ServiceCharge.php中,关系设置如下:publicfunctiongetServiceName(){return$this->hasOne(Services::className(),['id'=>'service_name']);}在ServiceChargeSearch.php中的代码是这样的:$query,]);$dataProvider-

php - 哈希类未找到 Laravel 5,在模型级别,寻找 App\Hash?

我正在构建我的第一个Laravel应用程序,我正在尝试弄清楚我应该如何在模型级别散列密码。问题是,当尝试使用LaravelHash::类时,找不到它。我试图查找相关的API文档,但除了对Illuminate命名空间类的一些引用之外找不到任何东西-从我收集到的Hash::应该全局可用?我是PHP命名空间的新手,我猜这可能与问题有关,因为错误表明它正在寻找App\Hash我知道它不是部分App命名空间,但Illuminate命名空间。这是我的代码:attributes['password']=Hash::make($value);}}任何有助于找出造成这种情况的原因的帮助,以及任何建议,我

php - 模型中的 Laravel 动态填充

陷入laravel5.2的问题。以下是eloquentcreateoperation(postcall)时的错误Model.php453中的质量分配异常:column_name以下是需要考虑的先决条件:模型中的可填充对象通过以下代码以动态方式填充:publicfunction__construct(){$this->fillable(\Schema::getColumnListing($this->getTable()))}目前调试的方法如下:在插入之前,在Controller中,$model::getillableField()给出适当的可填充数组。在model.php行(450)中

三维GIS开发:利用Cesium加载 M3D 地质体模型(附代码)

实现步骤Step1. 引用开发库:本示例引用local本地【include-cesium-local.js】开发库,完成此步骤后才可调用三维WebGL的功能;Step2. 创建布局:创建id='GlobeView'的div作为三维视图的容器,并设置其样式;Step3. 构造三维场景控件:实例化Cesium.WebSceneControl对象,完成此步骤后可在三维场景中加载三维球控件;Example:/构造三维视图对象(视图容器div的id,三维视图设置参数)varwebGlobe=newCesium.WebSceneControl('GlobeView',{})Step4. 加载数据:    

php - Laravel:如何验证模型是否已更改

Eloquentsavemethod有没有简单的方法?检查一行是否真的改变了?像Eloquent的affected_rows之类的东西?我找到的唯一解决方法来自LaravelEloquentupdatejustifchangeshavebeenmade做:$user=Auth::user();$timestamp=$user->updated_at;$user->title=$request->input('title');....$user->save();if($timestamp==$user->updated_at){//rowwasnotupdated.}但是否有可能在不需要

php - Laravel 模型未在 Controller 方法中绑定(bind)

我有一个Laravel模型PurhaseOrder和一个带有方法show的ControllerPurchaseOrdersController如果我用整数对方法进行类型转换:publicfunctionshow(int$purchaseOrder){dd(PurchaseOrder::find($purchaseOrder));}然后dd()转储出我所期望的(数据库中ID与$purchaseOrder匹配的记录)但是如果我这样做:publicfunctionshow(PurchaseOrder$purchaseOrder){dd($purchaseOrder);}然后$purchase