繁体   English   中英

Laravel 未将 Json 数据插入 MySQL

[英]Laravel Not Inserting Json Data Into MySQL

请参阅下面的代码,无法弄清楚出了什么问题,但插入没有发生......关于如何调试/修复的任何想法

Laravel - Controller

namespace App\Http\Controllers;

use App\Models\PhoneContactsPhonesModel;
use Illuminate\Http\Request;

class CreatePhoneContactsController extends Controller
{
    public function create(Request $request, $id)
    {

        $users = new PhoneContactsPhonesModel;
        $json = dd(json_decode($request->getContent(), true));

        foreach ($json as $key => $value) {

            $users->mysql_user_id = $id;
            $users->phone = $key;
            $users->name = $value;
            $users->save();

        }

    }
}

Laravel - 路线

Route::post('create_phone_contacts/{id}', 'CreatePhoneContactsController@create');

foreach 循环出了点问题 - 它似乎与循环外的硬编码值一起工作得很好

删除 dd() 并在 for 循环中创建 object。 这将解决您的问题。

namespace App\Http\Controllers;
use App\Models\PhoneContactsPhonesModel;
use Illuminate\Http\Request;

class CreatePhoneContactsController extends Controller
{
    public function create(Request $request, $id)
    {  
        $json = json_decode($request->getContent(), true);
        foreach ($json as $key => $value) {
            $users = new PhoneContactsPhonesModel;// ---> here
            $users->mysql_user_id = $id;
            $users->phone = $key;
            $users->name = $value;
            $users->save();
        }
    }
}

您所要做的就是从您的代码中删除 dd() 。

改变这个

$json = dd(json_decode($request->getContent(), true));  //change here

对此

$json = json_decode($request->getContent(), true); //change this remove dd()

它会工作..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM