php - PHP Laravel 选择查询
问题描述
foreach ($task as $task1) {
$parent=\DB::select('select parent_wbs_id from projwbs where wbs_id= "$task1->wbs_id"');
foreach ($parent as $parent1){
\DB::table('tasks')->insert([
['id'=>$task1->task_id, 'text'=>$task1->task_name, 'start_date'=>$task1->act_start_date,
'duration'=>round($days), 'parent'=>$parent1->parent_wbs_id,'progress'=>1.0]
]);
}
}
我的父选择查询有where 子句,它在其中检查每个任务循环的wbs_id并相应地获取parent_wbs_id。
现在,问题是——它没有进入我的内部父循环,如果它返回一个空行给$parent,我会被卡住。
我尝试显示$parent。它提示我无效数组到字符串转换的错误
对不起,我刚刚开始 PHP laravel 项目,我是这方面的初学者。
解决方案
将您的代码更改为:
foreach ($task as $task1) {
// $parent=\DB::select('select parent_wbs_id from projwbs where wbs_id= "$task1->wbs_id"');
$parent = \DB::table('projwbs')
->where('wbs_id', $task1->wbs_id)
->select('parent_wbs_id')
->get();
// $parent should contains all parent_wbs_id from table projwbs where wbs_id is equal to $task1->wbs_id
}
第一个查询中的主要错误是您最后没有使用get
,因此您正在遍历查询构建器。
另外,你不能使用select
你做的方式,我用 Laravel 期望的方式重写了它。
推荐阅读
- javascript - 在随机位置生成方块
- javascript - 如何在`javascript中引用变量
- apache-kafka - 可以在 Kafka Streams 中进行自我加入吗?
- java - Spring Hibernate - 使用现有类别保存笑话
- c++ - OpenMP 4.5 任务依赖和执行顺序
- python - 如何快速检查字符串是否正确?- Python
- python - 为什么追加覆盖列表?
- spring-data - 带有连接的 Spring 数据 jpa querydsl 投影
- python - 如何从另一个类正确访问一个类的 StringVar() - Python - tkinter
- javascript - 如何在javascript中的“function printOut(){}”中编写代码?