【发布时间】:2016-05-12 22:30:46
【问题描述】:
例如,我在 laravel 中看到,当循环通过 eloquent 模型时,它只循环通过表属性。例如
$user = new User(1);
foreach($user as $key => $value){
echo $key.' = '.$value.'<br>';
}
输出会是这样的
id=1
first_name=jone
尽管该类具有其他属性,但它仅循环遍历表列
我的课是这样的
class Model {
protected $prop1;
protected $prop2;
protected $columns = ['id' => 1, 'name' => 'name'];
}
我想实现类似的东西,所以当我创建一个对象并循环它时,例如只循环 $columns 属性
$model = new Model();
foreach($model as $key => $value){
echo $key.' = '.$value.'<br>';
}
我需要这样的输出
id=1
name=name
【问题讨论】:
-
有没有想过使用
in_array?if(in_array($key, $this->columns)) { echo ... }