g
в регулярном выражении (short для global ) говорит, чтобы искать всю строку, а не просто найти первое вхождение:
var temp = "This is a string.";
var count = (temp.match(/is/g) || []).length;
console.log(count);
Это соответствует is
дважды. И, если совпадений нет, он возвращает 0
.
var temp = "Hello World!";
var count = (temp.match(/is/g) || []).length;
console.log(count);
использовать для
for($i = 0; i<count($request->productname); $i++)
{
Product::create([
'productname' => $request->productname[$i],
'qty' => $request->qty[$i],
]);
}
Модель продукта:
class Product extends Model
{
protected $table = 'YOUR_TABLE_NAME';
}
В контроллере вы можете это сделать:
$model = new Product($request->all());
$model->save();
Или это:
Product::create($request->all());
$table
требуется только в том случае, если вы не хотите следовать соглашению об именах таблиц Laravel.
– Marcin Orlowski
13 July 2018 в 09:53
Попробуйте следующее:
Модель продукта:
class Product extends Model
{
public $table = 'YOUR_TABLE_NAME';
protected $primaryKey = 'YOUR_PRIMARY_KEY';
protected $fillable = ['productname','qty','price','priceinword'];
}
В контроллере:
Product::create($request->all());
ИЛИ
Модель продукта:
class Product extends Model
{
public $table = 'YOUR_TABLE_NAME';
protected $primaryKey = 'YOUR_PRIMARY_KEY';
}
В контроллере:
$model = new Product;
$model->productname = $request->productname;
$model->qty = $request->qty;
$model->price = $request->price;
$model->priceinword = $request->priceinword;
$model->save();
Убедитесь, что вы правильно записываете имена столбцов базы данных.