以下是我的代码中的问题。我有这个模型。传递的参数是-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
和awk '/--dport 22 -j ACCEPT/{print $0 RS
"-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT"
"-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT"
"-A INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT"
} 1' > tmp && mv tmp /home/user/iptables.txt
。
但这是我的问题。当我调用$uid=1
时,它会插入0和0作为pid和uid的值。
$id=1
以下是我的输出视图的create
。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Cart extends Model
{
protected $table = 'cart';
protected $fillable = [
'pid', 'uid'
];
public $uid=0;
public function __construct($uid)
{
$this->uid=$uid;
var_dump($this->uid); // int(1) array(2) { ["pid"]=> string(1) "1" ["uid"]=> int(1) }
}
public function add($id)
{
$cart = $this::create(['pid' => $id,'uid' => $this->uid]);
$cart->save();
var_dump($id,$this->uid); //string(1) "1" int(1)
}
}
我是Laravel的初学者,我已经提到了很多没有帮助的laravel文档。
答案 0 :(得分:1)
这些方法是不必要的,因为模型已经拥有与数据库交互的幕后方法,这就是ORM的作用。删除已添加的两种方法,并将此逻辑添加到控制器。
确保首先使用控制器顶部的命名空间
use App\Cart;
现在在你的控制器方法
$cart = new Cart;
$cart->uid = $request->uid;
$cart->pid = $request->pid;
$cart->save();
您可以通过$ cart-&gt; id
检索购物车ID