php 查看 实例 的方法,php – 从Laravel 5.1中的通用数据库查询中获取Eloquent模型的实例...

我有不同关系的模型.假设我的Entry模型属于供应商,所以通常我的模型文件中有一个supplier()方法.

到目前为止一切都那么好,当我有一些像Entry :: find(1) – >供应商这样的产品时,效果非常好.然而,什么是无效的是当我从Laravel中的通用DB ::查询中获取条目时,我显然无法访问supplier()方法,因为它不是Entry的实例.

$entries = DB::table('suppliers')

->join('entries', "supplier.id", '=', "entries.supplier_id")

->select('entries.*')

->where("supplier.name", 'like', "%{$name}%")

->get();

现在,如果我dd($entries);

我得到了预期的结果.但当我做类似的事情时:

dd($entries[0]->supplier); // or ->supplier()

我收到此错误:

Undefined property: stdClass::$supplier.

那么如何将(?)这些结果转换为Entry Eloquent模型,以便我可以利用这些关系?

这是$条目的原则:

Array

(

[0] => stdClass Object

(

[id] => 1

[user_id] => 0

[archived] => 0

[supplier_id] => 5

[customer_id] => 1

[contact] => dfgfdg

[commission] => dfgdfg

[entrance_date] => 2015-09-22 16:52:33

[cost_estimate] => 1

[status] => 1

[type] => 1

[watch_id] => 7

[reference] => dfgdfg

[serial_number] => 0

[delivery_date] => 2015-09-07 16:52:33

[articles_json] =>

[total_sales_cost_netto] =>

[gross_profit_netto] =>

[gross_profit_brutto] =>

[created_at] => 2015-09-09 20:10:02

[updated_at] => 2015-09-11 16:52:33

)

)

最佳答案 如@Zakaria所述,只需使用Eloquent:

$entries = Entry::with('supplier')

->join('supplier', "supplier.id", '=', "entries.supplier_id")

->where("supplier.name", 'like', "%{$name}%")

->get();

如果你真的需要“施放”他们,尝试这样的事情:

$entries = $yourDbQuery;

$c = new \Illuminate\Database\Eloquent\Collection;

foreach ($entries as $entry) {

$entryModel = new \App\Entry;

$c->add($entryModel->forceFill((array)$entry));

}

$c->load('supplier');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ejs获取js变量值_EJS变量(注入值)

ejs获取js变量值Hi! Welcome to NODE AND EJS TEMPLATE ENGINE SERIES. Today, we will talk about EJS variables or how we can inject values? 嗨! 欢迎使用NODE和EJS模板引擎系列。 今天,我们将讨论EJS变量或如何注入值? Just like nor…

POP和PUSH指令

PUSH指令: 首先减少 ESP 的值,再将源操作数复制到堆栈。操作数是 16 位的,则 ESP 减 2,操作数是 32 位的,则 ESP 减 4。PUSH 指令有 3 种格式: PUSH reg/mem16 PUSH reg/mem32 PUSH inm32POP指令&#xff…

Visual Basic 9.0 前沿播报·静态篇(六)松弛委托和可为空类型语法增强

本期介绍的两个VB9作为数据开发辅助功能的新特性。CLR在.NET 2.0增加了许多关于委托的新特性(但大部分都不为任何语言所支持),其中一个叫做协变的特性允许放松委托与函数绑定时的签名检查(C# 2.0支持)。为了追求更高的…

android_Text

....转载于:https://www.cnblogs.com/dwpcny/archive/2011/03/30/2000239.html

scala 函数调用_在Scala中按名称调用函数

scala 函数调用函数按名称调用 (Functions call by name ) By default, the method of parameter passing in a programming language is "call by value". In this, the parameter is passed to a function which makes a copy of them an operates on them. In Sca…

电脑PHP漏洞啥意思,PHP漏洞详解

几个重要的php.ini选项Register Globalsphp>4.2.0,php.ini的register_globals选项的默认值预设为Off,当register_globals的设定为On时,程序可以接收来自服务器的各种环境变量,包括表单提交的变量,而且由于PHP不必事先初始化变量的值,从而导致很大的安全隐患.例1://check_adm…

3年前的小程序:破解需要delphi IDE 环境的vcl 控件

基本原理:有些vcl组件未注册的话,会显示没有注册的信息,但在设计期间不显示这些信息,表示该组件会检查delphi的ide 环境,解决办法就是让自己的exe带上ide的信息;组件检查ide的办法无非就是使用api查找特定的…

执行POP和PUSH指令后,SS和SP的变化

我们知道push指令是将数据送入栈中,pop指令是将数据从栈顶取出来,8086CPU的入栈和出栈操作都是以字为单位的 比如说将10000H-1000FH这段内存当做栈使用 CPU是通过CS、IP中存放的段地址和偏移地址来知道当前要执行的指令,通过DS和[address]来…

python 文件遍历

1. import os,sys r raw_input(“type a directory name”) for root, dirs, files in os.walk(r): for f in files: print root, os.sep, f;2. import os,sys def walkdir(dirname): try: ls os.listdir(dirname) except: print ‘access deny’ else: for l in ls: temp o…

win7 php 上传文件,在LNMP原来的基础上,win7环境下如何上传PHP文件到Linux环境下...

首先,下载一个WINSCP客户端连接主机后,上传文件到自己的保存目录接着进入数据库添加我们的数据库mysql -uroot -p //这个是进入mysql的命令,但是要是你没有加 ln -s /usr/local/mysql/bin/mysql /usr/bin 的话就要输入下面那一行/usr/loc…

HDFC的完整形式是什么?

HDFC:住房发展金融公司 (HDFC: Housing Development Finance Corporation) HDFC is an abbreviation of Housing Development Finance Corporation. It is a well-known housing expansion finance corporation of India which largely makes available housing loa…

将10000H-1000FH这段空间当做栈,初始状态栈是空的,设置AX=001AH,BX=001BH,利用栈,交换AX和BX的数据

程序: mov ax,1000H mov ss,ax mov sp,0010H;设置AX和BX的值 mov ax,001AH mov bx,001BH;压栈 push ax push bx;出栈 pop ax pop bx解释: 在8086中,段寄存器不能直接传值,要通过一般寄存器,所以先将值传到ax中&#x…

利用WM_CTLCOLOR消息实现编辑控制(Edit Control)的文本与背景色的改变

(Abbey发表于2004-2-1 1:48:45)首先要明白:WM_CTLCOLOR是一个由控制(Control)发送给它父窗口的通知消息(Notification message)。实现步骤:生成一个标准的单文档应用程序框架,假设应用程序的名称为Color。我将利用它的About对话框做示范。在A…

fckeditor文件管理器添加查看、修改、删除文件功能[php]修正下载地址

2009年8月25日 由于PHP存在中文目录读取问题,将延期发布。2009年9月3日 正式发布:查看、修改、删除文件功能的fckeditor 2.6.4.1相关图片请查看:http://home.blueidea.com/attachment/200909/1/336696_1251813604S01b.gif相关其它&#xff1a…

php having,having方法

having方法1、对分组统计的结果,进行筛选如果将分分组查询的结果看成一张表的话,having方法类似where语句的功能2、源码:/thinkphp/library/think/db/Query.php/*** 指定having查询* access public* param string $having having* return $th…

合并排序算法排序过程_合并排序| 用于大型输入的最佳排序算法之一

合并排序算法排序过程What is sorting? 什么是分类? Sorting allows us to process our data in a more organized and efficient way. It makes searching easy as it will now take less time to search for a specific value in a given sorted sequence with …

Linux:jumpserver介绍(1)

官方网站 JumpServer - 开源堡垒机 - 官网https://www.jumpserver.org/ JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpServer 帮助企业以更安全的方式管控和登录所有类型的资产,实现事前授权、事中监察、事后审计&…

对一个简单汇编程序分析

程序: assume cs:codesgcodesg segmentmov ax,0123Hmov bx,0456Hadd ax,bxadd ax,axmov ax,4c00Hint 21Hcodesg endsend伪指令: 伪指令是写给编译器看的,CPU不会执行,在源程序中,包括两种指令,一个是…

datagrid 页眉合并

http://www.codeproject.com/aspnet/MergeDatagridHeader.asp private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e){//产生序号,合并单元格if(e.Item.ItemIndex!-1){e.Item.Cells[1].TextConvert.ToString(e.Item.ItemIndex1);//}else{e…

劈尖等厚干涉条纹matlab,劈尖等厚干涉实验中,k=0级的干涉条纹是条纹,与k级暗条纹对应的空气薄膜的厚度为...

劈尖等厚干涉实验中,k0级的干涉条纹是条纹,与k级暗条纹对应的空气薄膜的厚度为答:暗,kλ/2spampython 编程\nprint(spam[-6:-4])是否报错?(是:则填写报错原因,否:则填写输出结果)答&…