Laravel中使用explode拆分MySQL表year列数据失效问题求助
问题分析与解决
问题原因
你的代码里用了dd()函数,这是Laravel的dump and die工具,执行到这条语句时会直接终止整个脚本运行,所以循环只处理了第一行数据就停了。
解决方案
方案1:查看所有拆分结果
把dd()换成dump(),它只会输出数据但不会终止脚本,循环就能遍历所有行:
public function extractEndYear() { $experience = Experience::all(); foreach ($experience as $item) { print $item->year . "<br />"; dump(explode("-", $item->year)); } }
方案2:处理拆分后的年份数据
如果要对拆分出的年份做后续操作(比如提取结束年份),直接操作拆分后的数组即可:
public function extractEndYear() { $experience = Experience::all(); foreach ($experience as $item) { $yearArray = explode("-", $item->year); $startYear = $yearArray[0]; $endYear = $yearArray[1]; // 这里可以添加业务逻辑,比如保存到模型 // $item->end_year = $endYear; // $item->save(); print "起始年份:{$startYear},结束年份:{$endYear}<br />"; } }
内容的提问来源于stack exchange,提问作者etranz
相关产品推荐
相关产品推荐

