我正在尝试将数组值与数据库列一起传递,但结果始终为null。在我的数据库中已经有id和ref_num列。
架构表
Schema::create('products', function($table)
{
$table->increments('id')->unsigned();
$table->string('ref_num', 50);
});
代码
$items = Input::get('ref_num');
$ref_nums = array_unique(array_pluck($items, 'ref_num'));
$ref_num_array = Product::whereIn('ref_num', $ref_nums)->lists('id', 'ref_num');
返回结果
$items = [
[
"ref_num" => "12345"
]
]
$ref_nums = [0 => 12345]
$ref_num_array = []
期望结果
$ref_num_array = [12345 => 1001]
我也尝试过
$ref_num_array = DB::table('products')->whereIn('ref_num', $ref_nums)->lists('id', 'ref_num');
它返回了预期结果,但出现错误“没有模型查询结果”。
另外,我在产品模型中使用了trait
。