草庐IT

eloquent

全部标签

php - 如何从 Laravel 中的 hasMany() 关系中获取所有结果?

例如,我有一个Product,还有一个BaseProduct。在产品模型中,我指定了以下内容://InclassProductpublicfunctionBaseProduct(){return$this->belongsTo("BaseProduct","BaseProductId");}在BaseProduct中,我指定了以下关系://InclassBaseProductpublicfunctionProducts(){return$this->hasMany("Product","ProductId");}如果我要选择一个产品,像这样:$Product::first()我可以通过

php - Eloquent/Laravel : is there a counterpart to object->load ('relation' ), 例如。对象-> 卸载 ('relation')?

当我更新关系时,例如更新Child的parent_id(ChildbelongsToParent,ParenthasManyChild)并用Child->Parent对象响应,不知何故返回的Parent仍然是旧的。我认为这是因为Parent当时已经加载。我现在想卸载关系,以便再次从数据库中获取新的父级。有没有办法卸载加载的关系?就像您可以使用model->load('relation')进行延迟加载一样,您是否也可以再次卸载它?非常感谢! 最佳答案 卸载关系可以通过向模型传递一个空数组来完成$child->setRelations(

php - Laravel Eloquent 模型 id 作为字符串返回错误值

在Laravel5.2中,$client->id没有返回正确值的OauthClient模型。“lucadegasperi/oauth2-server-laravel”:迁移中使用了“^5.1”$table->string('id',40)->primary();然而,当在Blade模板中使用$client->id时,我会返回"0"。使用dd($client)在id属性中显示正确的值。有什么问题吗?dd()的模型输出OauthClient{#254▼#connection:null#table:null#primaryKey:"id"#keyType:"int"#perPage:15+i

php - Laravel:使用 Eloquent 方式从多个相关表返回结果

我正在使用Laravel4,特别是我正在寻找使用EloquentORM的答案。我有一个表“tasks”,其中包含分配给每一行的client_id和user_id。client_id指的是“clients”表中的客户端,user_id指的是“users”表。我想做的:显示所有任务并显示“clients”name和“users"first_name所以结果在我的(Blade)View中看起来像这样:@foreach($tasksas$task){{$task->user->first_name}}{{$task->client->name}}{{$task->description}}@e

php - Laravel Eloquent::Find() 使用现有 ID 返回 NULL

它非常简单,因为它是最基本的东西,但我不知道我错过了什么:有一个名为Site的模型我正在使用EloquentORM,所以当我调用(在Controller中)$oSite=Site::find(1)然后var_dump($oSite);它返回一个值NULL。但是当我检查数据库时,表“sites”实际上包含以下项目:id:1user_id:1name:test在我的Sitemodel我有以下代码:useIlluminate\Database\Eloquent\ModelNotFoundException;ClassSiteextendsEloquent{protected$table='s

php - Eloquent 模型和模型之间的区别?

所以,我对此感到困惑:在Laravel的官方文档中,他们说:TheEloquentORMincludedwithLaravelprovidesabeautiful,simpleActiveRecordimplementationforworkingwithyourdatabase.Eachdatabasetablehasacorresponding"Model"whichisusedtointeractwiththattable.好的,这里一切都很好,我明白了!所以我进行迁移以创建数据库:phpartisanmake:migrationcreate_items_table--creat

php - Laravel 4 模型,如何使用它们

我研究Laravel有一段时间了,我决定最终选择它。这是我第一次使用PHP框架,我在理解模型的用途时遇到了一些困难。我已经阅读了很多新手指南,这几乎是他们模型中的所有内容(Laravel明智的),classModelextendsEloquent{}然后在他们的Controller中他们做这样的事情,$model=newModel;$model->text="text";$model->save();我不是MVC模式方面的专家(可能是最大的新手),但我认为重点(或至少是一个小重点)是将许多操作分开。并且该模型应该负责处理数据库方面的所有事情。所以在某种程度上,这对我来说似乎是错误的,或

php - 如何在 Eloquent ORM Laravel 上添加多个 where 子句?

在这里尝试检索我需要ID和日期匹配的特定记录时遇到困难,这是我的代码:$testq=DB::table('attendances')->where('user_id','=',$userinput&&'logon','=',$newdate)->get(); 最佳答案 只需在其中添加一个。$testq=DB::table('attendances')->where('user_id','=',$userinput)->where('logon','=',$newdate)->get();http://laravel.com/api/

php - 如何获取 Laravel 删除/更新/插入语句的原始 SQL?

我知道我可以在查询生成器上使用toSql方法来获取带有SELECT语句的绑定(bind)参数占位符的原始SQL。App\User::where(['id'=>'1'])->toSql();"select*from`users`where(`id`=?)"但是我怎样才能在DELETE语句中得到这个呢?App\User::where(['id'=>'1'])->delete()->toSql();PHPerror:CalltoamemberfunctiontoSql()onintegeronline1这会执行语句,但我希望生成原始的、未插值的SQL,其中问号代表值,而不实际运行查询。同样的

php - 如何始终将属性附加到 Laravel Eloquent 模型?

我想知道如何始终将一些数据附加到Eloquent模型而不需要请求它,例如在获取Posts表单数据库时我想为每个用户附加用户信息:{id:1title:"MyPostTitle"body:"Sometext"created_at:"2-28-2016"user:{id:1,name:"johnsmith",email:"example@mail.com"}} 最佳答案 经过一些搜索,我发现您只需将您想要的属性添加到Eloquent模型中的$appends数组中:protected$appends=['user'];Update:Ift