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');
php 查看 实例 的方法,php – 从Laravel 5.1中的通用数据库查询中获取Eloquent模型的实例...相关推荐
- laravel mysql like_Laravel数据库查询中对 like 的值进行转义
Laravel数据库查询中对 like 的值进行转义 龙行 PHP 2020-8-20 550 0评论 在laravel开发中,如果我们用到like模糊搜索$where[] = ...
- 数据库查询中的子查询方法
一.简介. 关于SQL Server的查询,之前我们已经讲过了,如果没看过,可以翻一下我之前发的文献.本期我们来讲一下查询中的子查询方法. 二.子查询. 子查询是嵌套在另一个语句(如:[select] ...
- 只运行一个实例的方法
在VC++ 中编程中,只运行一个实例的方法主要有两类: 1 遍历当前的所有窗口,查找相同的实例.为了便于查找,一般要事先设一个查找标志. 2 利用系统提供的互斥对象或信标,直接让系统抑制重复的实例. ...
- Laravel 5.1 文档攻略 —— Eloquent:模型关系
简介 其实大家都知道,数据表之间都是可以关联的,前面讲过了,Eloquent ORM是数据模型操作代替表操作,那么表的关联查询,在Eloquent这里也就是模型间的关联查询,这就是本章的主要内容: E ...
- SQL Server数据库查询速度慢的原因和解决方法
SQL Server数据库查询速度慢的原因和解决方法 参考文章: (1)SQL Server数据库查询速度慢的原因和解决方法 (2)https://www.cnblogs.com/MyChange/p ...
- SQL去除数据库表中tab、空格、回车符等特殊字符的解决方法
SQL去除数据库表中tab.空格.回车符等特殊字符的解决方法 参考文章: (1)SQL去除数据库表中tab.空格.回车符等特殊字符的解决方法 (2)https://www.cnblogs.com/ml ...
- mysql中如何统计数据_mysql中的数据统计方法
1 数据统计 使用COUNT()函数计算表中的数据数目(比如emp表中的员工数目) mysql> select count(*) from emp; 查询结果如下: +----------+ | ...
- java中sql删除姓王的数据_JDBC删除数据实例
在本教程将演示如何在JDBC应用程序中,删除数据库表中数据记录. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式的数据库表中删除数据记录. 要执行以下示例,需要用 ...
- laravel数据库: 查询构造器
数据库: 查询构造器 获取结果 从表中检索所有行 get use Illuminate\Support\Facades\DB;$users = DB::table('users')->get() ...
最新文章
- 实验mongodb使用gridfs存放一个大文件
- android应用程序开发_Kotlin与Flutter:Android跨平台应用程序开发,到底选择哪个?...
- 连接mysql报zone时区错误
- SQL JOIN\SQL INNER JOIN 关键字\SQL LEFT JOIN 关键字\SQL RIGHT JOIN 关键字\SQL FULL JOIN 关键字...
- Exchange 2013 SP1部署系列7:发送连接器的配置
- vue 防止按钮重复点击
- Spring MVC学习总结(8)——Swagger入门详解
- python批量打印机excel_python批量设置多个Excel文件页眉页脚的脚本
- 设计模式 (五) 原型模式
- 【信号与系统】笔记(4-3)拉普拉斯逆变换
- WS2811B驱动使用及使用说明应用
- 用Python做一个连连看游戏辅助脚本,完整编程思路分享
- Unity 3D 射线检测方法
- 转载: dropout为啥要rescale?
- 英雄联盟修改服务器封3年,LOL自定义也被封三年 竟然因为这个原因?
- win2003桌面图标蓝底去除
- Linux下更改DNS地址
- 生物竞赛初赛报名已截止!各省往届真题超全汇总,建议收藏
- MyCat 学习笔记 第十五篇 . 数据分片后的迁移验证
- 2018年华为精英挑战赛初赛放置算法Java实现