我们说我有会员模型
我想获得一系列会员名称和电子邮件。我怎样才能做到这一点 可能的解决方案:
$members = Member::get(); // it will gives me all members.
$data = [];
foreach($members as $member){
$temp['Name'] = $member->Name;
$temp['Email'] = $member->Email;
$data[] = $temp;
unset($temp);
}
//got data into $data
但我直接想要只选择名称和电子邮件是否可以 Silver Stripe ?
我知道laravel select模型是可能的。
答案 0 :(得分:1)
<强>已更新强>
实际上你的问题是误导性的,或者我无法理解你想说什么,所以我已经为Laravel提供了解决方案。但是无论如何尝试下面的代码。
$sqlQuery = new SQLSelect();
$sqlQuery->setFrom('your_table_name');
$sqlQuery->selectField('Name', 'Email');
// Get the raw SQL (optional) and parameters
$rawSQL = $sqlQuery->sql($parameters);
// Execute and return a Query object
$result = $sqlQuery->execute();
// Iterate over results
foreach($result as $row) {
echo $row['Name'];
echo $row['Email'];
}
<小时/> 参考:
使用完整链接
答案 1 :(得分:0)
根据api文档,->setQueriedColumns()
应该可以限制查询中的列。它返回一个DataList,您可以使用->toArray()
转换为数组:
$members = Member::get()->setQueriedColumns(['Name', 'Email'])->toArray();
答案 2 :(得分:-1)
$members=(array) $members;
foreach($members as $member){
$temp['Name'] = $member['Name'];
$temp['Email'] = $member['Email'];
}
查看您的结果只有两个成员姓名和电子邮件数组$temp
:
print_r($temp);