该回答引用ChatGPT:对于FastAdmin的关联查询,你可以通过以下步骤来实现通过项目ID确定联系人姓名,并在业主栏显示联系人姓名:
public function contact()
{
return $this->belongsTo('app\common\model\Contact', 'contact_id', 'id');
}
public function index()
{
$projectList = Project::with('contact')->select();
$this->assign('projectList', $projectList);
return $this->fetch();
}
<th>业主</th>
<!-- 其他表头字段 -->
<!-- ... -->
<tbody>
<?php foreach ($projectList as $project): ?>
<tr>
<td><?php echo $project->contact->name; ?></td>
<!-- 其他字段 -->
<!-- ... -->
</tr>
<?php endforeach; ?>
</tbody>
通过以上步骤,你可以实现通过项目ID确定联系人姓名,并在业主栏显示联系人姓名的功能。请根据你的实际情况进行相应的调整和修改。
如果业主信息存放在sql种,你或许可以试一试mysql拓展的方式:
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$projectID = "KHLXR_1000000001";
$sql = "SELECT project.project_id, contact.contact_name
FROM project
JOIN contact ON project.contact_ID = contact.contact_ID
WHERE project.project_id = '$projectID'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$contactName = $row["contact_name"];
echo "业主姓名: " . $contactName;
}
} else {
echo "没有找到相关的联系人信息";
}
$conn->close();
?>