-1
我必须动态创建表,所以我需要从控制器声明表名。我需要访问的变量模型如下图所示:如何在Laravel 5中动态声明表名称
use Illuminate\Database\Eloquent\Model;
class Transation extends Model
{
protected $table = 'Trans' . $this->userId;
}
如何传递变量模型?
我必须动态创建表,所以我需要从控制器声明表名。我需要访问的变量模型如下图所示:如何在Laravel 5中动态声明表名称
use Illuminate\Database\Eloquent\Model;
class Transation extends Model
{
protected $table = 'Trans' . $this->userId;
}
如何传递变量模型?
这工作,但我不知道这是否是 “laravel” 的方式:
Transaction.php
public function __construct($params=array()) {
if (isset($params['table'])) {
$this->table = $params['table'];
}
}
anyController.php
谢谢。它工作正常。 – Balachandiran
这将强制在整个项目中为模型更改默认表名,这可以确保'all()'和'count()'静态方法在指定的表上正常工作。 使用'$ transaction = new Transaction;'然后'$ transaction-> setTable('another_table');'虽然这是Laravel的方式,但它不能正常工作。因为一旦你调用了'count()'方法,它将使用默认的表名,而不是你使用'setTable()'设置的表名。 –