我可能把这个复杂化了或者遗漏了一些非常简单的东西,所以请原谅我。我正在尝试操作/映射我模型中的一些数据。我正在尝试做的一个非常简单的例子:我有$model->attr,这将返回我的数据库中该列的任何内容。我知道返回值是1、2或3。当在View上显示时,我希望这个值显示一些不同的东西,为了这个例子让我们说1=>'red',2=>'blue',3=>'green'.我将如何在模型中执行此操作?我看过Accessors&Mutators,但不确定它们是否适合使用。提前致谢。 最佳答案 你需要一个accessor确实:publicfunct
我在我的Laravel5.4项目中使用RepositoryPattern(我对那个模式很陌生)。我已经在网上对此进行了很多讨论,但我仍然有两个重要问题:>问题#1:假设我使用LaravelORMEloquent并且我有一个如下所示的界面:你可以看到我已经像参数一样指定了eloquentUser模型。Eloquent实现看起来像这样:publicfunctionupdate(array$request,User$user){$user->name=$request['name'];$user->last_name=$request['last_name'];$user->email=$r
我有表Messages包含from和to列对应表Users中的一些用户。所以我需要类似的东西(用户模型中的hasMany关系-hasMany消息)publicfunctionMessages(){return$this->hasMany('App\Models\Messages','from','id');return$this->hasMany('App\Models\Messages','to','id');}但是有两个return,第二个是Unreachable语句。那么当关系多于一个时,如何管理多个关系呢? 最佳答案 创建第
我正在观看Laracasts:Laravel5.4fromScratch系列,并且遇到了查询范围的概念。在视频中,我们设置了这样一个类:where('completed',0);}}我的第一个问题:为什么这样的方法:publicfunctionscopeIncomplete($query)调用如下:App\Task::incomplete()与::运算符?那不是静态调用的非静态方法吗?我的第二个问题:$query从何而来?据我所知,这是“现有”查询,但它是这样调用的:App\Task::incomplete()->where('id','>',1)->get();所以我不太确定这个变量
我有两个表名称是User和Role表。我在LaravelEloquent中使用数据透视表名称Role_User设置了它们之间的manyTomany关系。现在,我想使用EloquentRelationship将两个表数据一起显示在一个View中。(例如,我想在我的View中显示users表中的用户包含roles表格)这里,是我的Eloquent关系。publicfunctionroles(){return$this->belongsToMany('App\Role');}publicfunctionusers(){return$this->belongsToMany('App\User'
每个订单我有两个不同的送货地址:发票地址送货地址它们都有相同的字段,所以我只为它们创建了一个Address模型。模型:地址订单每个订单包含两个字段:发票地址送货地址我希望每个字段都指向同一个地址(如果用户希望将cargo运送到发票地址)或两个不同的地址(如果送货地址与发票地址不同)。我将如何为此目的建立关系?这是我尝试过的:订单.phppublicfunctionorderAddress(){return$this->hasOne('App\Address');}publicfunctiondeliveryAddress(){return$this->hasOne('App\Addre
我正在尝试搜索所有具有RentItem且书名与给定$input相似的Rent。问题是当输入不匹配时,我仍然得到一个返回的集合。唯一的区别是book关系是null而不是集合。应该返回false的查询结果:https://pastebin.com/pd7UqhCi查询结果为真:https://pastebin.com/shndvdMh当book为null时,我不想返回Rent模型。我的查询$rents=Rent::with(['rentItems.book'=>function($query)use($input){$query->where('books.title','LIKE',"%
我遇到了一个问题,但找不到解决方案,这让我很烦。我有两张表,一张叫做contacts,另一张叫做phonebooks,它们与第三张名为*contacts_phonebooks*的表相关联,这是一个多-对多关系总结如下:联系人:id(pk)电话簿:id(pk)contacts_phonebooks:contactid(fk),phonebooksid(fk)非常简单明了,而且有效。我正在使用Laravel4和EloquentORM,当我必须获取它、插入它和删除它时一切正常,但是当我需要更新联系人时,我惨遭失败。我有一个表单,其中包含许多代表所有电话簿的复选框(每个复选框都有phonebo
关于Laravel的EloquentORM的问题。我已经看过SO了,如果我错过了类似的问题,我深表歉意。这些是我的模型:classFormatosextendsEloquent{publicfunctionpreguntas(){return$this->hasMany('\encuesta\Preguntas','fenc_id');}}classPreguntasextendsEloquent{publicfunctionalternativas(){return$this->hasMany('\encuesta\Alternativas','alt_id');}}classAlt
我正在使用phplaravel框架构建一个网络应用程序。当我将模型保存在数据库中时,它会插入但不保存模型属性。我看不出如何修复,因为laravel日志没有显示任何错误。有什么想法吗?这是模型:/***Thedatabasetableusedbythemodel.**@varstring*/protected$table='test';//protected$fillable=array('name','surname','mobile','phone','mail','adress');//Modelpropertiesprivate$name;private$surname;priv