如何在Laravel中获得belongsTo关系的一部分?

时间:2018-12-14 11:52:14

标签: php laravel eloquent

我有一个名为require('./models/Store'); const mongoose = require('mongoose'); const Store = mongoose.model('Store'); require('dotenv').config({ path: 'variables.env' }); mongoose.connect(process.env.DATABASE); mongoose.Promise = global.Promise; mongoose.connection.on('error', (err) => { console.error(`${err.message}`); }); require('./models/Store'); const app = require('./app'); app.set('port', process.env.PORT || 7777); const server = app.listen(app.get('port'), () => { console.log(`Express running → PORT ${server.address().port}`); }); 的模型。它具有一个名为import java.io.IOException; import java.net.Socket; import net.freehaven.tor.control.TorControlConnection; public class Main { public static void main(String[] args) throws IOException { //Connecting to TOR's control port //TOR must be running and following line must be added to the torrc: //ControlPort 9100 Socket s = new Socket("127.0.0.1", 9100); TorControlConnection conn = TorControlConnection.getConnection(s); //no authentification at the moment conn.authenticate(new byte[0]); //write some changes to torrc (like setting exit node) //ExitNodes {US} //StrictExitNodes 1 //send "RELOAD" signal - reloading torrc from disk conn.signal("RELOAD"); } } 的外键,并且与Loghash_id的关系。

我了解可以通过调用here来调用belongsTo来检索相应的哈希条目。我想做的是检索相应哈希列的特定行,而不是其中每一行。类似于App\Hash。这是因为我正在通过AJAX发送数据,并且不想与它一起发送很多不必要的列。我该怎么办?

2 个答案:

答案 0 :(得分:1)

您必须用:

写入所有列
Log::with('hash:id,text')

这将仅返回ID和文本。

作为旁注:您需要选择外键,否则关系为空

Here you can read more about it

答案 1 :(得分:1)

您可以通过两种方式完成

使用匿名功能

Log::with(['hash' => function($query) { 
    return $query->select('id','text');
}])->get();

第二种方式

  Log::with('hash:id,text')->get();
  

请记住您需要选择关系列的一件事,否则   它不起作用

更多信息,请阅读article