当我保存与用户相关的新东西时,在表格中插入Userid:Laravel

问题描述 投票:0回答:1

在我的项目中,我有很多与用户有关的东西我想要的时候我会保存他们的东西我用它们保存用户ID示例:这个用户有一个保存的信用卡将这些数据与这个用户相关联我在信用卡userid列中添加,所以我尝试添加用户ID我得到一个错误

我的控制器:

<?php

namespace App\Http\Controllers;

use App\CreditCards;
use Illuminate\Http\Request;
use App\ads;
use Validator, Hash;
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
use Tymon\JWTAuth\Exceptions\JWTException;
use Tymon\JWTAuth\Exceptions\TokenInvalidException;
use Config;
use Artisan;
use Tymon\JWTAuth\Facades\JWTAuth;
use Illuminate\Support\Facades\Password;
use Carbon\Carbon;

class CreditsCardsController extends Controller
{
    public function index(Request $request)
    {
        # code...
      //  $Ads = ads::all();
        //  return $this->sendResponse($Ads->toArray(), 'Ads read succesfully');
        // This is the name of the column you wish to search
        $input = $request->all();
        $validator =    Validator::make($input, [
            'user_id'=> 'required'
        ] );

          $Cards = CreditCards::where('user_id','=', $request->user_id)->first();

        return response()->json(['Cards'=>$Cards]);
    }

    public function stockcards (Request $request){
        $input = $request->all();
        $validator =    Validator::make($input, [
            'number_card'=> 'required',
            'expired_date'=> 'required',
            'ccv'=> 'required'
        ] );

        if ($validator -> fails()) {
            # code...
            return response()->json($validator->errors());

        }

        $Cards = CreditCards::create($input);
        //return $this->sendResponse($ads->toArray(), 'Ads created succesfully');
        return response()->json(['Cards'=>$Cards]);
    }
}

这是我的模态,我在这里得到一个错误:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Tymon\JWTAuth\Facades\JWTAuth;
use Illuminate\Support\Facades\Auth;
class CreditCards extends Model
{
    protected $fillable = [
        'number_card', 'expired_date', 'ccv','user_id = '. Auth::user()->id .',
    ];
}

这是我的迁移表:

   Schema::create('ads', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('url');
            $table->string('path');
            $table->timestamps();
        });
php laravel laravel-5 laravel-5.6
1个回答
0
投票

您没有在$fillable属性中设置默认值。也许你可以在你的用例中使用mutators,如下所示:

class SomeModel extends Model
{
    public function setUserIdAttribute($value)
    {
        $this->attributes['user_id'] = Auth::id();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.